refactor(hero): 重构英雄属性同步机制和任务组件

- 在HeroAttrsComp中添加smc.updateHeroInfo调用以同步英雄数据
- 移除MissionComp中冗余的UI状态管理代码
- 在SingletonModuleComp中新增updateHeroInfo方法集中处理英雄数据同步
- 调整heroSet中英雄基础防御值为0
- 添加任务时间倒计时功能
This commit is contained in:
walkpan
2026-01-02 22:12:43 +08:00
parent a9e7b5c464
commit f5ded0d314
5 changed files with 2019 additions and 1932 deletions

View File

@@ -21,10 +21,6 @@ export class MissionComp extends CCComp {
// reward:number = 0;
// reward_num:number = 0;
rewards:any[]=[]
info:any=null
hp_bar:any=null
mp_bar:any=null
exp_bar:any=null
game_data:any={
exp:0,
gold:0,
@@ -37,10 +33,6 @@ export class MissionComp extends CCComp {
this.on(GameEvent.FightEnd,this.fight_end,this)
this.on(GameEvent.MissionEnd,this.mission_end,this)
this.on(GameEvent.DO_AD_BACK,this.do_ad,this)
this.info=this.node.getChildByName("info")
this.hp_bar=this.info.getChildByName("hp_bar").getChildByName("bar")
this.mp_bar=this.info.getChildByName("mp_bar").getChildByName("bar")
this.exp_bar=this.info.getChildByName("exp_bar").getChildByName("bar")
// this.on(GameEvent.CanUpdateLv,this.show_uplv_button,this)
}
protected update(dt: number): void {
@@ -49,14 +41,10 @@ export class MissionComp extends CCComp {
}
if(smc.mission.in_fight){
smc.vmdata.mission_data.fight_time+=dt
smc.vmdata.mission_data.time-=dt
}
this.update_info()
}
update_info(){
this.hp_bar.getComponent(ProgressBar).progress=smc.vmdata.hero.hp/smc.vmdata.hero.hp_max
this.mp_bar.getComponent(ProgressBar).progress=smc.vmdata.hero.mp/smc.vmdata.hero.mp_max
this.exp_bar.getComponent(ProgressBar).progress=smc.vmdata.hero.exp/smc.vmdata.hero.exp_max
}
//奖励发放
do_reward(){
// 奖励发放
@@ -144,7 +132,7 @@ export class MissionComp extends CCComp {
smc.vmdata.mission_data.in_fight=false
smc.vmdata.mission_data.fight_time=0
smc.vmdata.mission_data.level=0
smc.vmdata.mission_data.time=15*60
this.rewards=[] // 改为数组,用于存储掉落物品列表
// console.log("[MissionComp]局内数据初始化",smc.vmdata.mission_data)
}