fix: 修复英雄销毁和任务开始时的残留问题
在Hero.ts中增加销毁节点的逻辑,防止视觉残留 在MissionComp.ts中清理回调函数和组件,避免上一局残留影响新局
This commit is contained in:
@@ -29,6 +29,12 @@ export class Hero extends ecs.Entity {
|
||||
}
|
||||
|
||||
destroy(): void {
|
||||
// 销毁节点,防止视觉残留
|
||||
const view = this.get(HeroViewComp);
|
||||
if (view && view.node && view.node.isValid) {
|
||||
view.node.destroy();
|
||||
}
|
||||
|
||||
this.remove(HeroViewComp);
|
||||
this.remove(HeroAttrsComp);
|
||||
this.remove(HeroSkillsComp);
|
||||
|
||||
@@ -84,6 +84,11 @@ export class MissionComp extends CCComp {
|
||||
|
||||
|
||||
async mission_start(){
|
||||
// 防止上一局的 fight_end 延迟回调干扰新局
|
||||
this.unscheduleAllCallbacks();
|
||||
// 确保清理上一局的残留实体
|
||||
this.cleanComponents();
|
||||
|
||||
// console.log("[MissionComp] ** 1 ** mission_start")
|
||||
oops.message.dispatchEvent(GameEvent.FightReady)
|
||||
this.node.active=true
|
||||
|
||||
Reference in New Issue
Block a user