diff --git a/assets/script/game/common/config/GameEvent.ts b/assets/script/game/common/config/GameEvent.ts index eb0d0de6..133f4353 100644 --- a/assets/script/game/common/config/GameEvent.ts +++ b/assets/script/game/common/config/GameEvent.ts @@ -50,6 +50,7 @@ export enum GameEvent { UseTalentCard = "UseTalentCard", UseItemCard = "UseItemCard", UseAttrCard = "UseAttrCard", + AttrSelect = "AttrSelect", NewWave = "NewWave", AD_BACK_TRUE = "AD_BACK_TRUE", AD_BACK_FALSE = "AD_BACK_FALSE", diff --git a/assets/script/game/map/MissionCardComp.ts b/assets/script/game/map/MissionCardComp.ts index fa417ab3..f5169bef 100644 --- a/assets/script/game/map/MissionCardComp.ts +++ b/assets/script/game/map/MissionCardComp.ts @@ -60,6 +60,7 @@ export class MissionCardComp extends CCComp { } oops.message.on(GameEvent.TalentSelect, this.onTalentSelect, this); + oops.message.on(GameEvent.AttrSelect, this.onAttrSelect, this); oops.message.on(GameEvent.HeroSkillSelect, this.onHeroSkillSelect, this); oops.message.on(GameEvent.ShopOpen, this.onShopOpen, this); oops.message.on(GameEvent.MissionStart, this.onMissionStart, this); @@ -74,6 +75,7 @@ export class MissionCardComp extends CCComp { } oops.message.off(GameEvent.TalentSelect, this.onTalentSelect, this); + oops.message.off(GameEvent.AttrSelect, this.onAttrSelect, this); oops.message.off(GameEvent.HeroSkillSelect, this.onHeroSkillSelect, this); oops.message.off(GameEvent.ShopOpen, this.onShopOpen, this); oops.message.off(GameEvent.MissionStart, this.onMissionStart, this); @@ -143,6 +145,11 @@ export class MissionCardComp extends CCComp { this.checkQueue(); } + private onAttrSelect(event: string, args: any) { + this.eventQueue.push({ type: CardType.Attr }); + this.checkQueue(); + } + private onTalentSelect(event: string, args: any) { this.eventQueue.push({ type: CardType.Talent }); this.checkQueue(); diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index eeea9172..5ac4d494 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -74,8 +74,12 @@ export class MissionComp extends CCComp { } call_cards(lv:number){ const rewardType = getLevelRewardType(lv); + console.log(`[MissionComp] 触发奖励选择, 类型: ${rewardType}`); + // 默认每级都触发属性选择 + oops.message.dispatchEvent(GameEvent.AttrSelect); + // 根据类型发送对应的事件 switch (rewardType) { case CardType.Talent: @@ -87,13 +91,9 @@ export class MissionComp extends CCComp { case CardType.Partner: oops.message.dispatchEvent(GameEvent.ToCallFriend); break; - case CardType.Potion: - oops.message.dispatchEvent(GameEvent.ShopOpen); - break; - default: - console.warn(`[MissionComp] 未知的奖励类型: ${rewardType}`); - oops.message.dispatchEvent(GameEvent.TalentSelect); // 默认回退到天赋选择 - break; + // case CardType.Potion: + // oops.message.dispatchEvent(GameEvent.ShopOpen); + // break; } } showLevelUpReward() {