fix(游戏逻辑): 修复英雄初始等级和奖励触发逻辑

将SingletonModuleComp中英雄初始等级从0改为1,避免可能的逻辑错误。在MissionComp中重构奖励触发逻辑,将call_cards方法提取为独立函数并在to_fight中调用,确保战斗开始时正确触发当前等级的奖励。
This commit is contained in:
walkpan
2026-01-06 10:47:25 +08:00
parent 9a2ad300ea
commit 534067f566
2 changed files with 11 additions and 8 deletions

View File

@@ -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,

View File

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