mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
feat(角色系统): 重构角色生成和升级系统
- 在EntityBase.gd中修改角色生成逻辑,使用FeedCardBase初始化角色属性 - 调整OutGameStorage.gd中的升级字段初始值和成本配置 - 在ComponentManager.gd中添加抽象组件管理功能 - 更新Rooster.tscn的默认武器为ChainGun - 在Starter.gd中优化升级界面刷新逻辑,提取rebuildInfo方法 - 在MakeFeed.gd中添加feed卡片重建功能
This commit is contained in:
@@ -36,6 +36,9 @@ func _ready():
|
||||
updateValue()
|
||||
if selectedCount >= UIState.player.fields[FieldStore.Entity.FEED_COUNT_CAN_MADE]:
|
||||
finish()
|
||||
for feedCard in feedCards.get_children():
|
||||
if feedCard is Feed:
|
||||
feed.rebuildInfo()
|
||||
)
|
||||
avaliableFeeds.add_child(feed)
|
||||
|
||||
|
||||
@@ -164,15 +164,19 @@ func beforeOpen(_args: Array = []):
|
||||
diffEdit.max_value = GameRule.difficultyRange.y
|
||||
diffEdit.value = GameRule.difficulty
|
||||
setState(MultiplayerState.ConnectionState.DISCONNECTED)
|
||||
rebuildInfo()
|
||||
startSingleplayerBtn.disabled = false
|
||||
Wave.current = 0
|
||||
|
||||
func rebuildInfo():
|
||||
crystalShow.count = OutGameStorage.inventory[ItemStore.ItemType.CRYSTAL]
|
||||
diamondShow.count = OutGameStorage.inventory[ItemStore.ItemType.DIAMOND]
|
||||
for child in upgradeFieldsBox.get_children():
|
||||
upgradeFieldsBox.remove_child(child)
|
||||
for field in OutGameStorage.upgradableFieldsAdvance:
|
||||
var fieldShow = ComponentManager.getUIComponent("FieldShow").instantiate() as FieldShow
|
||||
fieldShow.cost(ItemStore.ItemType.CRYSTAL, 50 * OutGameStorage.upgradableFieldsLevel[fieldShow.field])
|
||||
fieldShow.cost(ItemStore.ItemType.DIAMOND, OutGameStorage.upgradableFieldsLevel[fieldShow.field] - 1)
|
||||
fieldShow.cost(ItemStore.ItemType.CRYSTAL, OutGameStorage.upgradableFieldsCost[ItemStore.ItemType.CRYSTAL] * (OutGameStorage.upgradableFieldsLevel[field] + 1))
|
||||
fieldShow.cost(ItemStore.ItemType.DIAMOND, OutGameStorage.upgradableFieldsCost[ItemStore.ItemType.DIAMOND] * OutGameStorage.upgradableFieldsLevel[field])
|
||||
fieldShow.upgradable = true
|
||||
fieldShow.upgradeValue = OutGameStorage.upgradableFieldsAdvance[field]
|
||||
fieldShow.field = field
|
||||
@@ -182,13 +186,6 @@ func beforeOpen(_args: Array = []):
|
||||
func(newValue: float):
|
||||
OutGameStorage.upgradableFieldsValue[fieldShow.field] = newValue
|
||||
OutGameStorage.upgradableFieldsLevel[fieldShow.field] += 1
|
||||
for index in len(fieldShow.costCounts):
|
||||
if fieldShow.costCounts[index] == 0:
|
||||
fieldShow.costCounts[index] += 1
|
||||
else:
|
||||
fieldShow.costCounts[index] *= (OutGameStorage.upgradableFieldsLevel[fieldShow.field] + 1) / OutGameStorage.upgradableFieldsLevel[fieldShow.field]
|
||||
rebuildInfo()
|
||||
)
|
||||
upgradeFieldsBox.add_child(fieldShow)
|
||||
|
||||
startSingleplayerBtn.disabled = false
|
||||
Wave.current = 0
|
||||
|
||||
Reference in New Issue
Block a user