mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-30 16:01:53 +08:00
feat(饲料系统): 实现基于品质权重的饲料卡牌生成逻辑
添加 ArrayTool 工具类用于数组操作 在 FeedName 中增加 weight 方法获取品质权重 修改 MakeFeed 的卡牌生成逻辑,根据品质权重进行随机选择
This commit is contained in:
@@ -54,12 +54,20 @@ func finish():
|
||||
func regenerateCards():
|
||||
updateValue()
|
||||
clearCards()
|
||||
var feeds: Array[Feed] = []
|
||||
for i in avaliableFeeds.get_children():
|
||||
feeds.append(i)
|
||||
feeds.shuffle()
|
||||
for i in range(UIState.player.fields[FieldStore.Entity.FEED_COUNT_SHOW]):
|
||||
var feed = feeds[i] as Feed
|
||||
var feeds = generateCardByQuality()
|
||||
for feed in feeds:
|
||||
feed.show()
|
||||
avaliableFeeds.remove_child(feed)
|
||||
feedCards.add_child(feed)
|
||||
func generateCardByQuality():
|
||||
var feeds = []
|
||||
for i in range(len(avaliableFeeds.get_children())):
|
||||
var feed = avaliableFeeds.get_children()[i] as Feed
|
||||
for j in range(feed.nameLabel.weight()):
|
||||
feeds.append(i)
|
||||
var result = []
|
||||
for i in range(UIState.player.fields[FieldStore.Entity.FEED_COUNT_SHOW]):
|
||||
feeds.shuffle()
|
||||
result.append(avaliableFeeds.get_children()[feeds[0]])
|
||||
feeds = ArrayTool.removeAll(feeds, feeds[0])
|
||||
return result
|
||||
|
||||
Reference in New Issue
Block a user