refactor: 重命名Logger类并增加错误日志方法

- 将Logger类重命名为mLogger以符合命名规范
- 新增error方法用于统一错误输出
- 在多个组件中替换console.log/warn/error为mLogger的对应方法
- 为多个组件添加debugMode属性以控制模块级日志开关
- 新增HeroMasterComp组件框架
This commit is contained in:
panw
2026-02-03 14:40:02 +08:00
parent 859ab3bc2a
commit 63dd22fb88
16 changed files with 215 additions and 117 deletions

View File

@@ -13,6 +13,8 @@ import { getNeAttrs, getAttrs ,Attrs} from "../common/config/HeroAttrs";
import { HeroSkillsComp } from "./HeroSkills";
import { HeroMoveComp } from "./HeroMove";
import { TalComp } from "./TalComp";
import { mLogger } from "../common/Logger";
import { HeroMasterComp } from "./HeroMasterComp";
/** 角色实体 */
@ecs.register(`Hero`)
@@ -33,6 +35,7 @@ export class Hero extends ecs.Entity {
destroy(): void {
// 如果是主角,清理全局引用
if (smc.role === this) {
console.log(`[Hero] 主角销毁,清除 smc.role`);
smc.role = null;
}
@@ -92,7 +95,9 @@ export class Hero extends ecs.Entity {
// 只有主角才挂载天赋组件
if (is_master) {
smc.role = this; // 记录主角实体引用
console.log(`[Hero] 主角创建,设置 smc.role, uuid=${uuid}`);
this.add(TalComp);
this.add(HeroMasterComp)
const talComp = this.get(TalComp);
if (talComp) {
talComp.init(uuid);
@@ -156,9 +161,9 @@ export class HeroLifecycleSystem extends ecs.ComblockSystem
// 英雄实体创建时的特殊处理
const heroAttrs = e.get(HeroAttrsComp);
if (heroAttrs) {
console.log(`英雄进入世界: ${heroAttrs.hero_name}`);
mLogger.log(heroAttrs.debugMode, 'HeroLifecycle', `英雄进入世界: ${heroAttrs.hero_name}`);
} else {
console.log(`英雄进入世界: 实体ID ${e.eid}`);
mLogger.log(true, 'HeroLifecycle', `英雄进入世界: 实体ID ${e.eid}`);
}
}
@@ -166,9 +171,9 @@ export class HeroLifecycleSystem extends ecs.ComblockSystem
// 英雄实体销毁时的清理工作
const heroAttrs = e.get(HeroAttrsComp);
if (heroAttrs) {
console.log(`英雄离开世界: ${heroAttrs.hero_name}`);
mLogger.log(heroAttrs.debugMode, 'HeroLifecycle', `英雄离开世界: ${heroAttrs.hero_name}`);
} else {
console.log(`英雄离开世界: 实体ID ${e.eid}`);
mLogger.log(true, 'HeroLifecycle', `英雄离开世界: 实体ID ${e.eid}`);
}
}
}