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

@@ -1,7 +1,7 @@
import { Vec3, _decorator , v3,Collider2D,Contact2DType,Label ,Node,Prefab,instantiate,ProgressBar, Component, Material, Sprite, math, clamp, Game, tween, Tween, Color, BoxCollider2D, UITransform} from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { Logger } from "../common/Logger";
import { mLogger } from "../common/Logger";
import { HeroSpine } from "./HeroSpine";
import { BoxSet, FacSet } from "../common/config/GameSet";
import { smc } from "../common/SingletonModuleComp";
@@ -28,16 +28,8 @@ export interface BuffInfo {
@ecs.register('HeroView', false) // 定义ECS 组件
export class HeroViewComp extends CCComp {
@property({ tooltip: "是否启用调试日志" })
private debugMode: boolean = true; // 是否启用调试模式
private debugMode: boolean = false; // 是否启用调试模式
// 添加条件日志方法
private debugLog(...args: any[]): void {
Logger.log(this.debugMode, 'HeroViewComp', ...args);
}
private debugWarn(...args: any[]): void {
Logger.warn(this.debugMode, 'HeroViewComp', ...args);
}
// ==================== View 层属性(表现相关)====================
as: HeroSpine = null!
status:String = "idle"
@@ -55,7 +47,7 @@ export class HeroViewComp extends CCComp {
get model() {
// 🔥 修复添加安全检查防止ent为null时的访问异常
if (!this.ent) {
this.debugWarn("[HeroViewComp] ent is null, returning null for model");
mLogger.warn(this.debugMode, 'HeroViewComp', "[HeroViewComp] ent is null, returning null for model");
return null;
}
return this.ent.get(HeroAttrsComp);
@@ -196,7 +188,7 @@ export class HeroViewComp extends CCComp {
// 不再基于血量是否满来决定显示状态,只更新进度条
let hp=this.model.hp;
let hp_max=this.model.Attrs[Attrs.HP_MAX];
// this.debugLog("hp_show",hp,hp_max)
// mLogger.log(this.debugMode, 'HeroViewComp', "hp_show",hp,hp_max)
let targetProgress = hp / hp_max;
let hpNode = this.top_node.getChildByName("hp");
@@ -224,7 +216,7 @@ export class HeroViewComp extends CCComp {
if(!this.top_node.active) return
let mp=this.model.mp;
let mp_max=this.model.Attrs[Attrs.MP_MAX];
this.debugLog("mp_show",mp,mp_max)
mLogger.log(this.debugMode, 'HeroViewComp', "mp_show",mp,mp_max)
this.top_node.getChildByName("mp").getComponent(ProgressBar).progress = mp / mp_max;
this.scheduleOnce(() => {
this.top_node.getChildByName("mp").getChildByName("mpb").getComponent(ProgressBar).progress = mp / mp_max;
@@ -425,7 +417,7 @@ export class HeroViewComp extends CCComp {
realDead(){
// 🔥 修复添加model安全检查防止实体销毁过程中的空指针异常
if (!this.model) {
this.debugWarn("[HeroViewComp] realDead called but model is null, skipping");
mLogger.warn(this.debugMode, 'HeroViewComp', "[HeroViewComp] realDead called but model is null, skipping");
return;
}
if(this.model.fac === FacSet.HERO){
@@ -501,7 +493,7 @@ export class HeroViewComp extends CCComp {
playSkillEffect(skill_id:number) {
let skill = SkillSet[skill_id]
this.debugLog('[heroview] skill_id'+skill_id,skill)
mLogger.log(this.debugMode, 'HeroViewComp', '[heroview] skill_id'+skill_id,skill)
if (!skill) return;
switch(skill.act){
case "max":