feat: 为升级事件添加调试日志
在 SingletonModuleComp 和 HeroAttrsComp 中添加详细的日志记录,用于追踪升级事件的触发、监听、移除和处理流程,便于调试和问题排查。
This commit is contained in:
@@ -220,6 +220,7 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
}
|
||||
h.exp_pre=Math.round(h.exp/h.exp_max*100)
|
||||
if (isLevelUp) {
|
||||
mLogger.log(this.debugMode, 'SMC', `[SMC] 触发升级事件: Lv.${h.lv}`);
|
||||
// 发送升级事件
|
||||
oops.message.dispatchEvent(GameEvent.CanUpdateLv, { lv: h.lv });
|
||||
}
|
||||
|
||||
@@ -84,6 +84,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
|
||||
onLoad() {
|
||||
// 监听升级事件
|
||||
mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 注册升级事件监听`);
|
||||
oops.message.on(GameEvent.CanUpdateLv, this.onLevelUp, this);
|
||||
// 移除卡牌事件监听,改为由 MissionCardComp 直接调用,避免非主角响应
|
||||
// oops.message.on(GameEvent.UseItemCard, this.onUseItemCard, this);
|
||||
@@ -91,6 +92,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
}
|
||||
|
||||
onDestroy() {
|
||||
mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 移除升级事件监听`);
|
||||
oops.message.off(GameEvent.CanUpdateLv, this.onLevelUp, this);
|
||||
// oops.message.off(GameEvent.UseItemCard, this.onUseItemCard, this);
|
||||
// oops.message.off(GameEvent.UseAttrCard, this.onUseAttrCard, this);
|
||||
@@ -141,10 +143,11 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
* 处理英雄升级逻辑
|
||||
*/
|
||||
onLevelUp(event: string, args: any) {
|
||||
mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 收到升级事件: is_master=${this.is_master}, args=${JSON.stringify(args)}`);
|
||||
// 只有主角才响应升级事件
|
||||
if (!this.is_master) return;
|
||||
const newLv = args.lv;
|
||||
mLogger.log(this.debugMode, 'HeroAttrs', ` 英雄升级处理: Lv.${this.lv} -> Lv.${newLv}`);
|
||||
mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 英雄升级处理: Lv.${this.lv} -> Lv.${newLv}`);
|
||||
if (newLv > this.lv) {
|
||||
this.lv = newLv;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user