fix(游戏逻辑): 修复英雄初始等级和奖励触发逻辑
将SingletonModuleComp中英雄初始等级从0改为1,避免可能的逻辑错误。在MissionComp中重构奖励触发逻辑,将call_cards方法提取为独立函数并在to_fight中调用,确保战斗开始时正确触发当前等级的奖励。
This commit is contained in:
@@ -109,7 +109,7 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
path:'',
|
||||
as:0,
|
||||
type:0,
|
||||
lv:0,
|
||||
lv:1,
|
||||
exp:0,
|
||||
exp_max:100,
|
||||
exp_pre:0,
|
||||
|
||||
@@ -54,9 +54,16 @@ export class MissionComp extends CCComp {
|
||||
// 升级奖励触发
|
||||
onLevelUp(event: string, args: any) {
|
||||
console.log(`[MissionComp] 英雄升级到 ${args.lv} 级!`);
|
||||
|
||||
this.call_cards(args.lv)
|
||||
// 获取当前等级对应的奖励类型
|
||||
const rewardType = getLevelRewardType(args.lv);
|
||||
|
||||
|
||||
|
||||
// 触发奖励选择界面 (暂时留空)
|
||||
// this.showLevelUpReward();
|
||||
}
|
||||
call_cards(lv:number){
|
||||
const rewardType = getLevelRewardType(lv);
|
||||
console.log(`[MissionComp] 触发奖励选择, 类型: ${rewardType}`);
|
||||
|
||||
// 根据类型发送对应的事件
|
||||
@@ -78,11 +85,7 @@ export class MissionComp extends CCComp {
|
||||
oops.message.dispatchEvent(GameEvent.TalentSelect); // 默认回退到天赋选择
|
||||
break;
|
||||
}
|
||||
|
||||
// 触发奖励选择界面 (暂时留空)
|
||||
// this.showLevelUpReward();
|
||||
}
|
||||
|
||||
showLevelUpReward() {
|
||||
// TODO: 显示三选一技能/属性奖励界面
|
||||
console.log("[MissionComp] 显示升级奖励界面 (TODO)");
|
||||
@@ -171,7 +174,7 @@ export class MissionComp extends CCComp {
|
||||
to_fight(){
|
||||
smc.mission.in_fight=true
|
||||
oops.message.dispatchEvent(GameEvent.FightStart) //GameSetMonComp 监听刷怪
|
||||
oops.message.dispatchEvent(GameEvent.TalentSelect)
|
||||
this.call_cards(smc.vmdata.hero.lv)
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user