refactor(技能系统): 移除事件通信,直接调用方法添加技能

- 删除 HeroSkillsComp 中监听 GameEvent.UseSkillCard 的代码
- 在 MissionCardComp 中直接调用 HeroSkillsComp.addSkill() 方法
- 简化组件间通信方式,避免不必要的事件派发
This commit is contained in:
panw
2026-02-03 09:14:18 +08:00
parent 78647eda29
commit 031b91311a
2 changed files with 3 additions and 20 deletions

View File

@@ -448,14 +448,7 @@ export class MissionCardComp extends CCComp {
// 直接调用 HeroSkillsComp 添加技能
const skillComp = role.get(HeroSkillsComp);
if (skillComp) {
// 假设 HeroSkillsCompaddSkill 方法,如果没有需要根据实际情况调整
// 这里暂时假设通过事件触发或需要补充直接调用的方法
// 由于 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: