From bdcc606e022e2345cc62d490d320dba111324338 Mon Sep 17 00:00:00 2001 From: panw Date: Thu, 30 Oct 2025 16:11:07 +0800 Subject: [PATCH] =?UTF-8?q?refactor(hero):=20=E5=B0=86is=5Fatking=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E4=BB=8EHeroViewComp=E7=A7=BB=E5=88=B0HeroAttrsComp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将攻击状态is_atking从视图组件HeroViewComp移动到属性组件HeroAttrsComp,以保持状态管理的集中性 --- assets/script/game/hero/HSkillSystem.ts | 2 +- assets/script/game/hero/HeroAttrsComp.ts | 6 ++++-- assets/script/game/hero/HeroViewComp.ts | 2 -- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/script/game/hero/HSkillSystem.ts b/assets/script/game/hero/HSkillSystem.ts index 456b0237..e1f212d8 100644 --- a/assets/script/game/hero/HSkillSystem.ts +++ b/assets/script/game/hero/HSkillSystem.ts @@ -227,7 +227,7 @@ export class SkillAutocastSystem extends ecs.ComblockSystem implements ecs.ISyst if (heroModel.is_dead || heroModel.isStun() || heroModel.isFrost()) return; // 检查是否正在攻击(只有攻击时才释放技能) - if (!heroView.is_atking) return; + if (!heroModel.is_atking) return; // 获取所有可施放的技能 const readySkills = skillsData.getReadySkills(heroModel.mp); diff --git a/assets/script/game/hero/HeroAttrsComp.ts b/assets/script/game/hero/HeroAttrsComp.ts index 195737cb..4eff9d23 100644 --- a/assets/script/game/hero/HeroAttrsComp.ts +++ b/assets/script/game/hero/HeroAttrsComp.ts @@ -41,13 +41,13 @@ export class HeroAttrsComp extends ecs.Comp { // ==================== 标记状态 ==================== is_dead: boolean = false; is_count_dead: boolean = false; + is_atking: boolean = false; // 是否正在攻击 + is_stop: boolean = false; // 是否正在停止 is_boss: boolean = false; is_big_boss: boolean = false; is_master: boolean = false; is_friend: boolean = false; is_kalami: boolean = false; - is_atking: boolean = false; - is_stop: boolean = false; // ==================== 计数统计 ==================== atk_count: number = 0; // 攻击次数 atked_count: number = 0; // 被攻击次数 @@ -368,6 +368,8 @@ export class HeroAttrsComp extends ecs.Comp { this.BUFFS_TEMP = {}; this.is_dead = false; this.is_count_dead = false; + this.is_atking = false; + this.is_stop = false; this.is_boss = false; this.is_big_boss = false; this.is_master = false; diff --git a/assets/script/game/hero/HeroViewComp.ts b/assets/script/game/hero/HeroViewComp.ts index 48636ff2..4acfb38c 100644 --- a/assets/script/game/hero/HeroViewComp.ts +++ b/assets/script/game/hero/HeroViewComp.ts @@ -30,8 +30,6 @@ export class HeroViewComp extends CCComp { status:String = "idle" scale: number = 1; // 显示方向 box_group:number = BoxSet.HERO; // 碰撞组 - is_atking:boolean = false; // 是否正在攻击 - // ==================== UI 节点引用 ==================== private top_node: Node = null!;