refactor(hero): 优化英雄动画状态同步逻辑
移除测试用的英雄成长模拟数据,修复动画状态与实际表现不一致的问题 1. 重构HeroSpine的idle/move方法,新增返回值标记动画是否被拦截 2. 重构HeroViewComp的status_change逻辑,仅在动画切换成功时更新状态 3. 重构HeroAnmComp的动画播放逻辑,修复动画结束后默认播放的异常 4. 移除SingletonModuleComp中的测试用英雄成长数据 5. 简化MoveSystem中状态切换的冗余判断逻辑
This commit is contained in:
@@ -131,7 +131,7 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
model.is_atking = false;
|
||||
if (model.fac === FacSet.HERO) {
|
||||
this.processHeroQueue(e, model, move, view);
|
||||
} else if (view.status !== "atk") {
|
||||
} else {
|
||||
view.status_change("idle");
|
||||
}
|
||||
return;
|
||||
@@ -146,7 +146,7 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
/** 无敌人:停止移动,等待战斗结束结算 */
|
||||
this.clearCombatTarget(model);
|
||||
model.is_atking = false;
|
||||
if (view.status !== "atk") view.status_change("idle");
|
||||
view.status_change("idle");
|
||||
}
|
||||
|
||||
/** 渲染层级重排(双阵营统一处理) */
|
||||
@@ -181,7 +181,7 @@ export class MoveSystem extends ecs.ComblockSystem implements ecs.ISystemUpdate
|
||||
view.node.setPosition(targetX, view.node.position.y, 0);
|
||||
}
|
||||
view.scale = 1;
|
||||
if (view.status !== "atk") view.status_change("idle");
|
||||
view.status_change("idle");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user