feat: 新增属性选择事件并调整关卡奖励逻辑
- 在 GameEvent 枚举中添加 AttrSelect 事件 - 修改 MissionComp.call_cards 方法,默认每级都触发属性选择事件 - 移除药水奖励类型对应的事件分发,将其注释保留 - 在 MissionCardComp 中注册并处理 AttrSelect 事件,将其加入事件队列
This commit is contained in:
@@ -50,6 +50,7 @@ export enum GameEvent {
|
|||||||
UseTalentCard = "UseTalentCard",
|
UseTalentCard = "UseTalentCard",
|
||||||
UseItemCard = "UseItemCard",
|
UseItemCard = "UseItemCard",
|
||||||
UseAttrCard = "UseAttrCard",
|
UseAttrCard = "UseAttrCard",
|
||||||
|
AttrSelect = "AttrSelect",
|
||||||
NewWave = "NewWave",
|
NewWave = "NewWave",
|
||||||
AD_BACK_TRUE = "AD_BACK_TRUE",
|
AD_BACK_TRUE = "AD_BACK_TRUE",
|
||||||
AD_BACK_FALSE = "AD_BACK_FALSE",
|
AD_BACK_FALSE = "AD_BACK_FALSE",
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ export class MissionCardComp extends CCComp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
oops.message.on(GameEvent.TalentSelect, this.onTalentSelect, this);
|
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.HeroSkillSelect, this.onHeroSkillSelect, this);
|
||||||
oops.message.on(GameEvent.ShopOpen, this.onShopOpen, this);
|
oops.message.on(GameEvent.ShopOpen, this.onShopOpen, this);
|
||||||
oops.message.on(GameEvent.MissionStart, this.onMissionStart, 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.TalentSelect, this.onTalentSelect, this);
|
||||||
|
oops.message.off(GameEvent.AttrSelect, this.onAttrSelect, this);
|
||||||
oops.message.off(GameEvent.HeroSkillSelect, this.onHeroSkillSelect, this);
|
oops.message.off(GameEvent.HeroSkillSelect, this.onHeroSkillSelect, this);
|
||||||
oops.message.off(GameEvent.ShopOpen, this.onShopOpen, this);
|
oops.message.off(GameEvent.ShopOpen, this.onShopOpen, this);
|
||||||
oops.message.off(GameEvent.MissionStart, this.onMissionStart, this);
|
oops.message.off(GameEvent.MissionStart, this.onMissionStart, this);
|
||||||
@@ -143,6 +145,11 @@ export class MissionCardComp extends CCComp {
|
|||||||
this.checkQueue();
|
this.checkQueue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private onAttrSelect(event: string, args: any) {
|
||||||
|
this.eventQueue.push({ type: CardType.Attr });
|
||||||
|
this.checkQueue();
|
||||||
|
}
|
||||||
|
|
||||||
private onTalentSelect(event: string, args: any) {
|
private onTalentSelect(event: string, args: any) {
|
||||||
this.eventQueue.push({ type: CardType.Talent });
|
this.eventQueue.push({ type: CardType.Talent });
|
||||||
this.checkQueue();
|
this.checkQueue();
|
||||||
|
|||||||
@@ -74,8 +74,12 @@ export class MissionComp extends CCComp {
|
|||||||
}
|
}
|
||||||
call_cards(lv:number){
|
call_cards(lv:number){
|
||||||
const rewardType = getLevelRewardType(lv);
|
const rewardType = getLevelRewardType(lv);
|
||||||
|
|
||||||
console.log(`[MissionComp] 触发奖励选择, 类型: ${rewardType}`);
|
console.log(`[MissionComp] 触发奖励选择, 类型: ${rewardType}`);
|
||||||
|
|
||||||
|
// 默认每级都触发属性选择
|
||||||
|
oops.message.dispatchEvent(GameEvent.AttrSelect);
|
||||||
|
|
||||||
// 根据类型发送对应的事件
|
// 根据类型发送对应的事件
|
||||||
switch (rewardType) {
|
switch (rewardType) {
|
||||||
case CardType.Talent:
|
case CardType.Talent:
|
||||||
@@ -87,13 +91,9 @@ export class MissionComp extends CCComp {
|
|||||||
case CardType.Partner:
|
case CardType.Partner:
|
||||||
oops.message.dispatchEvent(GameEvent.ToCallFriend);
|
oops.message.dispatchEvent(GameEvent.ToCallFriend);
|
||||||
break;
|
break;
|
||||||
case CardType.Potion:
|
// case CardType.Potion:
|
||||||
oops.message.dispatchEvent(GameEvent.ShopOpen);
|
// oops.message.dispatchEvent(GameEvent.ShopOpen);
|
||||||
break;
|
// break;
|
||||||
default:
|
|
||||||
console.warn(`[MissionComp] 未知的奖励类型: ${rewardType}`);
|
|
||||||
oops.message.dispatchEvent(GameEvent.TalentSelect); // 默认回退到天赋选择
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
showLevelUpReward() {
|
showLevelUpReward() {
|
||||||
|
|||||||
Reference in New Issue
Block a user