refactor(hero): 优化英雄动画状态同步逻辑

移除测试用的英雄成长模拟数据,修复动画状态与实际表现不一致的问题

1. 重构HeroSpine的idle/move方法,新增返回值标记动画是否被拦截
2. 重构HeroViewComp的status_change逻辑,仅在动画切换成功时更新状态
3. 重构HeroAnmComp的动画播放逻辑,修复动画结束后默认播放的异常
4. 移除SingletonModuleComp中的测试用英雄成长数据
5. 简化MoveSystem中状态切换的冗余判断逻辑
This commit is contained in:
panFD
2026-09-12 14:04:18 +08:00
parent 1fc91dce21
commit d951896799
5 changed files with 63 additions and 37 deletions

View File

@@ -143,17 +143,7 @@ export class SingletonModuleComp extends ecs.Comp {
shop: false, // 购买药品面板按钮
},
/** 英雄局外成长数据:记录每个英雄的局外等级与碎片数量 */
// TODO: 以下为测试英雄升级功能的模拟数据,验证通过后需移除(避免污染云端存档)
hero_growth: {
// 碎片充足:可连升 2 级(10+20=30,剩余 20 不够升 4 级)
5001: { uuid: 5001, lv: 1, fragments: 50 },
// 碎片不足:升 4 级需 40,验证升级失败路径
5002: { uuid: 5002, lv: 3, fragments: 15 },
// 碎片刚好够升到满级:升 6 级需 160
5003: { uuid: 5003, lv: 5, fragments: 160 },
// 已满级:验证满级后 upgradeHero 返回 false
5004: { uuid: 5004, lv: 6, fragments: 999 },
} as Record<number, HeroGrowthRecord>,
hero_growth: {} as Record<number, HeroGrowthRecord>,
/** 天赋等级表:key 为天赋 uuid,value 为当前等级 */
talents: {} as Record<number, number>,
/** 可用天赋点数 */