feat(奖励系统): 实现等级奖励分发和收集品显示功能
- 新增GameEvent.UpdateCollection事件用于更新收集品显示 - 将CardType枚举移至GameSet并添加getLevelRewardType函数 - 修改MissionComp根据等级分发不同类型奖励事件 - 实现MissionGetsComp收集品数量显示功能 - 在SingletonModuleComp中添加收集品更新事件触发
This commit is contained in:
@@ -9,7 +9,7 @@ import { GameEvent } from "../common/config/GameEvent";
|
||||
import { HeroViewComp } from "../hero/HeroViewComp";
|
||||
import { UIID } from "../common/config/GameUIConfig";
|
||||
import { SkillView } from "../skill/SkillView";
|
||||
import { FightSet } from "../common/config/GameSet";
|
||||
import { FightSet, getLevelRewardType, CardType } from "../common/config/GameSet";
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
|
||||
@@ -54,7 +54,31 @@ export class MissionComp extends CCComp {
|
||||
// 升级奖励触发
|
||||
onLevelUp(event: string, args: any) {
|
||||
console.log(`[MissionComp] 英雄升级到 ${args.lv} 级!`);
|
||||
oops.message.dispatchEvent(GameEvent.TalentSelect)
|
||||
|
||||
// 获取当前等级对应的奖励类型
|
||||
const rewardType = getLevelRewardType(args.lv);
|
||||
console.log(`[MissionComp] 触发奖励选择, 类型: ${rewardType}`);
|
||||
|
||||
// 根据类型发送对应的事件
|
||||
switch (rewardType) {
|
||||
case CardType.Talent:
|
||||
oops.message.dispatchEvent(GameEvent.TalentSelect);
|
||||
break;
|
||||
case CardType.Skill:
|
||||
oops.message.dispatchEvent(GameEvent.HeroSkillSelect);
|
||||
break;
|
||||
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;
|
||||
}
|
||||
|
||||
// 触发奖励选择界面 (暂时留空)
|
||||
// this.showLevelUpReward();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user