diff --git a/assets/script/game/hero/HeroSkills.ts b/assets/script/game/hero/HeroSkills.ts index b254b196..498758a9 100644 --- a/assets/script/game/hero/HeroSkills.ts +++ b/assets/script/game/hero/HeroSkills.ts @@ -45,20 +45,11 @@ export class HeroSkillsComp extends ecs.Comp { ai_timer: number = 0; onLoad() { - oops.message.on(GameEvent.UseSkillCard, this.onUseSkillCard, this); + } onDestroy() { - oops.message.off(GameEvent.UseSkillCard, this.onUseSkillCard, this); - } - - private onUseSkillCard(event: string, args: any) { - const attrsComp = this.ent.get(HeroAttrsComp); - if (!attrsComp || !attrsComp.is_master) return; - - const s_uuid = args as number; - console.log(`[HeroSkills] 收到技能选择事件,添加技能 ID: ${s_uuid}`); - this.addSkill(s_uuid, HSSet.skill); + } // ==================== 辅助方法 ==================== @@ -280,7 +271,6 @@ export class HeroSkillsComp extends ecs.Comp { } reset() { - oops.message.off(GameEvent.UseSkillCard, this.onUseSkillCard, this); this.skills = {}; } setMaxAuto(on: boolean) { diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index 9e6f7034..eae0d941 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -448,14 +448,7 @@ export class MissionCardComp extends CCComp { // 直接调用 HeroSkillsComp 添加技能 const skillComp = role.get(HeroSkillsComp); if (skillComp) { - // 假设 HeroSkillsComp 有 addSkill 方法,如果没有需要根据实际情况调整 - // 这里暂时假设通过事件触发或需要补充直接调用的方法 - // 由于 HeroSkillsComp 之前可能主要依赖初始化,这里可能需要补充 addSkill 逻辑 - // 或者如果 HeroSkillsComp 监听了 UseSkillCard 且判断了 is_master,可以保留事件但需谨慎 - // 为了完全隔离,建议在 HeroSkillsComp 中暴露 addSkill 接口 - // 目前先保留事件派发,但在 HeroSkillsComp 中加强 is_master 判断 - // 或者:skillComp.addSkill(selectedData.uuid); - oops.message.dispatchEvent(GameEvent.UseSkillCard, selectedData.uuid); + skillComp.addSkill(selectedData.uuid); } break; case CardType.Partner: