refactor(属性): 统一默认属性定义并移除调试属性
- 新增 defaultAttrs 对象集中定义 BACK_CHANCE、DODGE、CON_RES 的默认值 - 修改 Hero 和 Monster 初始化逻辑,使用 defaultAttrs 代替硬编码值 - 移除 HeroAttrsComp 中未使用的 debugMode 装饰器属性 - 简化日志消息,移除重复的组件名前缀 - 修复 SingletonModuleComp 中属性名错误(speed 改为 dodge)
This commit is contained in:
@@ -123,7 +123,7 @@ export class SingletonModuleComp extends ecs.Comp {
|
||||
def:0,
|
||||
ap:0,
|
||||
crt:0,
|
||||
speed:0,
|
||||
dodge:0,
|
||||
skills:[],
|
||||
buff:[],
|
||||
tal:[],
|
||||
|
||||
@@ -93,6 +93,11 @@ export enum Attrs {
|
||||
|
||||
}
|
||||
|
||||
export const defaultAttrs = {
|
||||
[Attrs.BACK_CHANCE]:0,
|
||||
[Attrs.DODGE]:0,
|
||||
[Attrs.CON_RES]:0,
|
||||
}
|
||||
/**
|
||||
* 初始化英雄属性对象
|
||||
* 遍历 Attrs 枚举的所有数字值,返回一个属性初始值为 0 的对象
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user