feat(奖励系统): 实现等级奖励分发和收集品显示功能

- 新增GameEvent.UpdateCollection事件用于更新收集品显示
- 将CardType枚举移至GameSet并添加getLevelRewardType函数
- 修改MissionComp根据等级分发不同类型奖励事件
- 实现MissionGetsComp收集品数量显示功能
- 在SingletonModuleComp中添加收集品更新事件触发
This commit is contained in:
walkpan
2026-01-05 20:06:23 +08:00
parent 93e0ab083b
commit 9bf8ad2625
7 changed files with 121 additions and 154 deletions

View File

@@ -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();
}