1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-27 22:41:56 +08:00
Files
Dog-Lynx-And-HCN/scripts/Tools/ArrayTool.gd
T
fallingshrimp f9e512a5e6 feat(ArrayTool): 添加字典填充工具方法
refactor(OutGameStorage): 重构升级字段初始化逻辑
使用新的ArrayTool.fill方法简化字典初始化,提高代码可读性

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

fix(Starter): 修复升级成本计算逻辑
根据新的升级成本数据结构调整升级显示计算方式
2026-05-04 10:52:17 +08:00

34 lines
869 B
GDScript

class_name ArrayTool
static func removeAll(array: Array, value) -> Array:
var result = []
for item in array:
if item != value:
result.append(item)
return result
static func swap(array: Array, a: int, b: int):
var temp = array[a]
array[a] = array[b]
array[b] = temp
return array
static func parseEncodedObject(arr: Array) -> Array:
var result = []
for item in arr:
if item is EncodedObjectAsID:
result.append(instance_from_id(item.get_instance_id()))
else:
result.append(item)
return result
static func betterMap(arr: Array, executor: Callable) -> Array:
var result = []
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,
{}
)