1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat(ArrayTool): 添加字典填充工具方法

refactor(OutGameStorage): 重构升级字段初始化逻辑
使用新的ArrayTool.fill方法简化字典初始化,提高代码可读性

fix(EntityBase): 调整boss死亡掉落物品数量
将boss掉落水晶数量上限从20降低到10,钻石掉落数量改为1-3随机

fix(Starter): 修复升级成本计算逻辑
根据新的升级成本数据结构调整升级显示计算方式
This commit is contained in:
2026-05-04 10:52:17 +08:00
parent 6b31030887
commit f9e512a5e6
4 changed files with 21 additions and 25 deletions
+7
View File
@@ -24,3 +24,10 @@ static func betterMap(arr: Array, executor: Callable) -> Array:
for index in len(arr):
result.append(executor.call(arr[index], index, arr))
return result
static func fill(origin: Dictionary, filler: Callable) -> Dictionary:
return origin.keys().reduce(
func(accum, key):
accum[key] = filler.call(key)
return accum,
{}
)
+8 -21
View File
@@ -1,15 +1,8 @@
class_name OutGameStorage
static var maxInitialFeedCount: int = 3
static var maxInitialWeaponCount: int = 3
static var inventory = {
ItemStore.ItemType.CRYSTAL: 0,
ItemStore.ItemType.DIAMOND: 0
}
static var upgradableFieldsCost = {
ItemStore.ItemType.CRYSTAL: 50,
ItemStore.ItemType.DIAMOND: 1,
ItemStore.ItemType.CRYSTAL: [50, 1], # [每级所需,初始等级]
ItemStore.ItemType.DIAMOND: [1, 0],
}
static var upgradableFieldsAdvance = {
FieldStore.Entity.MAX_HEALTH: 10,
@@ -17,15 +10,9 @@ static var upgradableFieldsAdvance = {
FieldStore.Entity.ATTACK_SPEED: 0.05,
FieldStore.Entity.PRICE_REDUCTION: 0.02,
}
static var upgradableFieldsValue = {
FieldStore.Entity.MAX_HEALTH: 0,
FieldStore.Entity.DAMAGE_MULTIPILER: 0,
FieldStore.Entity.ATTACK_SPEED: 0,
FieldStore.Entity.PRICE_REDUCTION: 0,
}
static var upgradableFieldsLevel = {
FieldStore.Entity.MAX_HEALTH: 0,
FieldStore.Entity.DAMAGE_MULTIPILER: 0,
FieldStore.Entity.ATTACK_SPEED: 0,
FieldStore.Entity.PRICE_REDUCTION: 0,
}
static var upgradableFieldsValue = ArrayTool.fill(upgradableFieldsAdvance, func(_k): return 0)
static var upgradableFieldsLevel = ArrayTool.fill(upgradableFieldsAdvance, func(_k): return 0)
static var maxInitialFeedCount: int = 3
static var maxInitialWeaponCount: int = 3
static var inventory = ArrayTool.fill(upgradableFieldsCost, func(_k): return 0)