fix(游戏逻辑): 修复任务结束时的UI移除时机并重置英雄数据

调整VictoryComp中UI节点移除的时机,确保在MissionStart事件之后执行
在MissionComp中添加英雄数据和金币的初始化逻辑,确保每局游戏开始时状态重置
This commit is contained in:
walkpan
2026-01-03 20:20:49 +08:00
parent 063b882879
commit 2d79e9d064
2 changed files with 29 additions and 1 deletions

View File

@@ -211,6 +211,34 @@ export class MissionComp extends CCComp {
smc.vmdata.mission_data.time=15*60
this.rewards=[] // 改为数组,用于存储掉落物品列表
this.revive_times = 1; // 每次任务开始重置复活次数
// 重置英雄数据,确保新一局是初始状态
smc.vmdata.hero = {
name:'',
path:'',
as:0,
type:0,
lv:0,
exp:0,
exp_max:100,
exp_pre:0,
hp:50,
hp_max:100,
mp:50,
mp_max:100,
def:0,
ap:0,
dis:0,
crt:0,
speed:0,
skills:[],
buff:[],
tal:[],
info:'',
};
// 重置金币为初始值 (如果需要保留金币,请注释掉此行)
smc.vmdata.gold = 200;
// console.log("[MissionComp]局内数据初始化",smc.vmdata.mission_data)
}

View File

@@ -144,8 +144,8 @@ export class VictoryComp extends CCComp {
oops.message.dispatchEvent(GameEvent.MissionEnd)
this.scheduleOnce(()=>{
oops.message.dispatchEvent(GameEvent.MissionStart)
oops.gui.removeByNode(this.node)
},0.5)
oops.gui.removeByNode(this.node)
}
item_show(e:any,val:any){
// console.log("item_show",val)