refactor(经验系统): 移除怪物经验计算和英雄经验更新逻辑
经验系统重构,删除不再使用的怪物经验计算函数getMonsterExp和英雄经验更新方法updateHeroExp
This commit is contained in:
@@ -138,38 +138,7 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
gold: 200, // 金币数据(MVVM绑定字段)
|
||||
};
|
||||
|
||||
/**
|
||||
* 更新英雄经验
|
||||
* @param exp 获得的经验值
|
||||
*/
|
||||
updateHeroExp(exp: number) {
|
||||
if (!this.vmdata.hero) return;
|
||||
|
||||
this.vmdata.hero.exp += exp*20;
|
||||
// console.log('[smc] 英雄升级 经验:' + this.vmdata.hero.exp + ' 等级:' + this.vmdata.hero.lv + ' 上限:' + this.vmdata.hero.exp_max);
|
||||
// 确保 exp_max 初始化
|
||||
if (this.vmdata.hero.exp_max <= 0) {
|
||||
this.vmdata.hero.exp_max = getLevelExp(this.vmdata.hero.lv || 1);
|
||||
}
|
||||
|
||||
while (this.vmdata.hero.exp >= this.vmdata.hero.exp_max) {
|
||||
this.vmdata.hero.exp -= this.vmdata.hero.exp_max;
|
||||
this.vmdata.hero.lv++;
|
||||
|
||||
// 更新下一级所需经验
|
||||
this.vmdata.hero.exp_max = getLevelExp(this.vmdata.hero.lv);
|
||||
|
||||
// 触发升级事件
|
||||
oops.message.dispatchEvent(GameEvent.CanUpdateLv, { lv: this.vmdata.hero.lv });
|
||||
}
|
||||
|
||||
// 更新进度条显示 (0-1)
|
||||
if (this.vmdata.hero.exp_max > 0) {
|
||||
this.vmdata.hero.exp_pre = Math.floor(this.vmdata.hero.exp / this.vmdata.hero.exp_max * 100);
|
||||
} else {
|
||||
this.vmdata.hero.exp_pre = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 记录天赋获取
|
||||
|
||||
Reference in New Issue
Block a user