From 369c10cf62b2b7ac6a6f6dd5143bb797e1787611 Mon Sep 17 00:00:00 2001 From: walkpan Date: Fri, 6 Feb 2026 20:38:34 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E5=B1=9E=E6=80=A7):=20=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E9=BB=98=E8=AE=A4=E5=B1=9E=E6=80=A7=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=B9=B6=E7=A7=BB=E9=99=A4=E8=B0=83=E8=AF=95=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 defaultAttrs 对象集中定义 BACK_CHANCE、DODGE、CON_RES 的默认值 - 修改 Hero 和 Monster 初始化逻辑,使用 defaultAttrs 代替硬编码值 - 移除 HeroAttrsComp 中未使用的 debugMode 装饰器属性 - 简化日志消息,移除重复的组件名前缀 - 修复 SingletonModuleComp 中属性名错误(speed 改为 dodge) --- assets/script/game/common/SingletonModuleComp.ts | 2 +- assets/script/game/common/config/HeroAttrs.ts | 5 +++++ assets/script/game/hero/Hero.ts | 6 +++--- assets/script/game/hero/HeroAttrsComp.ts | 9 ++++----- assets/script/game/hero/Mon.ts | 6 +++--- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/assets/script/game/common/SingletonModuleComp.ts b/assets/script/game/common/SingletonModuleComp.ts index 35fa6777..7c76dab7 100644 --- a/assets/script/game/common/SingletonModuleComp.ts +++ b/assets/script/game/common/SingletonModuleComp.ts @@ -123,7 +123,7 @@ export class SingletonModuleComp extends ecs.Comp { def:0, ap:0, crt:0, - speed:0, + dodge:0, skills:[], buff:[], tal:[], diff --git a/assets/script/game/common/config/HeroAttrs.ts b/assets/script/game/common/config/HeroAttrs.ts index 22f94195..33778b31 100644 --- a/assets/script/game/common/config/HeroAttrs.ts +++ b/assets/script/game/common/config/HeroAttrs.ts @@ -93,6 +93,11 @@ export enum Attrs { } +export const defaultAttrs = { + [Attrs.BACK_CHANCE]:0, + [Attrs.DODGE]:0, + [Attrs.CON_RES]:0, + } /** * 初始化英雄属性对象 * 遍历 Attrs 枚举的所有数字值,返回一个属性初始值为 0 的对象 diff --git a/assets/script/game/hero/Hero.ts b/assets/script/game/hero/Hero.ts index 2790a39a..e5489ee1 100644 --- a/assets/script/game/hero/Hero.ts +++ b/assets/script/game/hero/Hero.ts @@ -7,7 +7,7 @@ import { HeroViewComp } from "./HeroViewComp"; import { BoxSet, FacSet, IndexSet } from "../common/config/GameSet"; import { HeroInfo, HeroPos, HType } from "../common/config/heroSet"; import { GameEvent } from "../common/config/GameEvent"; -import { getNeAttrs, getAttrs ,Attrs} from "../common/config/HeroAttrs"; +import { getNeAttrs, getAttrs ,Attrs, defaultAttrs} from "../common/config/HeroAttrs"; import { HeroSkillsComp } from "./HeroSkills"; import { HeroMoveComp } from "./HeroMove"; import { TalComp } from "./TalComp"; @@ -118,8 +118,8 @@ export class Hero extends ecs.Entity { // 初始化 buff/debuff 系统 model.initAttrs(); model.Attrs[Attrs.REVIVE_COUNT]=1 // 复活次数 - model.Attrs[Attrs.BACK_CHANCE]=50 // 击退对手几率 - model.Attrs[Attrs.CON_RES]=10 // 控制抗性 + model.Attrs[Attrs.BACK_CHANCE]=defaultAttrs[Attrs.BACK_CHANCE] + model.Attrs[Attrs.CON_RES]=defaultAttrs[Attrs.CON_RES] // 控制抗性 this.add(hv); oops.message.dispatchEvent(GameEvent.MasterCalled,{uuid:uuid}) const move = this.get(HeroMoveComp); diff --git a/assets/script/game/hero/HeroAttrsComp.ts b/assets/script/game/hero/HeroAttrsComp.ts index fbd52f8d..2ff45bd6 100644 --- a/assets/script/game/hero/HeroAttrsComp.ts +++ b/assets/script/game/hero/HeroAttrsComp.ts @@ -18,7 +18,6 @@ interface talTrigger{ } @ecs.register('HeroAttrs') export class HeroAttrsComp extends ecs.Comp { - @property({ tooltip: "是否启用调试日志" }) public debugMode: boolean = true; Ebus:any=null! @@ -84,7 +83,7 @@ export class HeroAttrsComp extends ecs.Comp { initEvent() { // 监听升级事件 - mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 注册升级事件监听`); + mLogger.log(this.debugMode, 'HeroAttrs', ` 注册升级事件监听`); oops.message.on(GameEvent.CanUpdateLv, this.onLevelUp, this); // 移除卡牌事件监听,改为由 MissionCardComp 直接调用,避免非主角响应 // oops.message.on(GameEvent.UseItemCard, this.onUseItemCard, this); @@ -92,7 +91,7 @@ export class HeroAttrsComp extends ecs.Comp { } removeEvent() { - mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 移除升级事件监听`); + mLogger.log(this.debugMode, '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); @@ -143,11 +142,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)}`); + mLogger.log(this.debugMode, 'HeroAttrs', ` 收到升级事件: is_master=${this.is_master}, args=${JSON.stringify(args)}`); // 只有主角才响应升级事件 if (!this.is_master) return; const newLv = args.lv; - mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 英雄升级处理: Lv.${this.lv} -> Lv.${newLv}`); + mLogger.log(this.debugMode, 'HeroAttrs', ` 英雄升级处理: Lv.${this.lv} -> Lv.${newLv}`); if (newLv > this.lv) { this.lv = newLv; diff --git a/assets/script/game/hero/Mon.ts b/assets/script/game/hero/Mon.ts index f4ac8140..1181de76 100644 --- a/assets/script/game/hero/Mon.ts +++ b/assets/script/game/hero/Mon.ts @@ -6,7 +6,7 @@ import { BoxSet, FacSet, IndexSet } from "../common/config/GameSet"; import { HeroInfo } from "../common/config/heroSet"; import { HeroAttrsComp } from "./HeroAttrsComp"; import { BuffConf, SkillSet } from "../common/config/SkillSet"; -import { getNeAttrs, getAttrs ,Attrs} from "../common/config/HeroAttrs"; +import { getNeAttrs, getAttrs ,Attrs, defaultAttrs} from "../common/config/HeroAttrs"; import { getMonAttr, MonType } from "../map/RogueConfig"; import { HeroViewComp } from "./HeroViewComp"; import { HeroSkillsComp } from "./HeroSkills"; @@ -128,8 +128,8 @@ export class Monster extends ecs.Entity { model.Attrs[Attrs.DEF] = def; model.Attrs[Attrs.AP] = ap; model.Attrs[Attrs.SPEED] = speed; // 使用成长后的速度 - model.Attrs[Attrs.BACK_CHANCE]=15 - model.Attrs[Attrs.CON_RES]=10 + model.Attrs[Attrs.BACK_CHANCE]=defaultAttrs[Attrs.BACK_CHANCE] + model.Attrs[Attrs.CON_RES]=defaultAttrs[Attrs.CON_RES] // ✅ 初始化技能数据(迁移到 HeroSkillsComp) skillsComp.initSkills(hero.skills, uuid);