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,
|
def:0,
|
||||||
ap:0,
|
ap:0,
|
||||||
crt:0,
|
crt:0,
|
||||||
speed:0,
|
dodge:0,
|
||||||
skills:[],
|
skills:[],
|
||||||
buff:[],
|
buff:[],
|
||||||
tal:[],
|
tal:[],
|
||||||
|
|||||||
@@ -93,6 +93,11 @@ export enum Attrs {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const defaultAttrs = {
|
||||||
|
[Attrs.BACK_CHANCE]:0,
|
||||||
|
[Attrs.DODGE]:0,
|
||||||
|
[Attrs.CON_RES]:0,
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 初始化英雄属性对象
|
* 初始化英雄属性对象
|
||||||
* 遍历 Attrs 枚举的所有数字值,返回一个属性初始值为 0 的对象
|
* 遍历 Attrs 枚举的所有数字值,返回一个属性初始值为 0 的对象
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { HeroViewComp } from "./HeroViewComp";
|
|||||||
import { BoxSet, FacSet, IndexSet } from "../common/config/GameSet";
|
import { BoxSet, FacSet, IndexSet } from "../common/config/GameSet";
|
||||||
import { HeroInfo, HeroPos, HType } from "../common/config/heroSet";
|
import { HeroInfo, HeroPos, HType } from "../common/config/heroSet";
|
||||||
import { GameEvent } from "../common/config/GameEvent";
|
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 { HeroSkillsComp } from "./HeroSkills";
|
||||||
import { HeroMoveComp } from "./HeroMove";
|
import { HeroMoveComp } from "./HeroMove";
|
||||||
import { TalComp } from "./TalComp";
|
import { TalComp } from "./TalComp";
|
||||||
@@ -118,8 +118,8 @@ export class Hero extends ecs.Entity {
|
|||||||
// 初始化 buff/debuff 系统
|
// 初始化 buff/debuff 系统
|
||||||
model.initAttrs();
|
model.initAttrs();
|
||||||
model.Attrs[Attrs.REVIVE_COUNT]=1 // 复活次数
|
model.Attrs[Attrs.REVIVE_COUNT]=1 // 复活次数
|
||||||
model.Attrs[Attrs.BACK_CHANCE]=50 // 击退对手几率
|
model.Attrs[Attrs.BACK_CHANCE]=defaultAttrs[Attrs.BACK_CHANCE]
|
||||||
model.Attrs[Attrs.CON_RES]=10 // 控制抗性
|
model.Attrs[Attrs.CON_RES]=defaultAttrs[Attrs.CON_RES] // 控制抗性
|
||||||
this.add(hv);
|
this.add(hv);
|
||||||
oops.message.dispatchEvent(GameEvent.MasterCalled,{uuid:uuid})
|
oops.message.dispatchEvent(GameEvent.MasterCalled,{uuid:uuid})
|
||||||
const move = this.get(HeroMoveComp);
|
const move = this.get(HeroMoveComp);
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ interface talTrigger{
|
|||||||
}
|
}
|
||||||
@ecs.register('HeroAttrs')
|
@ecs.register('HeroAttrs')
|
||||||
export class HeroAttrsComp extends ecs.Comp {
|
export class HeroAttrsComp extends ecs.Comp {
|
||||||
@property({ tooltip: "是否启用调试日志" })
|
|
||||||
public debugMode: boolean = true;
|
public debugMode: boolean = true;
|
||||||
|
|
||||||
Ebus:any=null!
|
Ebus:any=null!
|
||||||
@@ -84,7 +83,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
|
|
||||||
initEvent() {
|
initEvent() {
|
||||||
// 监听升级事件
|
// 监听升级事件
|
||||||
mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 注册升级事件监听`);
|
mLogger.log(this.debugMode, 'HeroAttrs', ` 注册升级事件监听`);
|
||||||
oops.message.on(GameEvent.CanUpdateLv, this.onLevelUp, this);
|
oops.message.on(GameEvent.CanUpdateLv, this.onLevelUp, this);
|
||||||
// 移除卡牌事件监听,改为由 MissionCardComp 直接调用,避免非主角响应
|
// 移除卡牌事件监听,改为由 MissionCardComp 直接调用,避免非主角响应
|
||||||
// oops.message.on(GameEvent.UseItemCard, this.onUseItemCard, this);
|
// oops.message.on(GameEvent.UseItemCard, this.onUseItemCard, this);
|
||||||
@@ -92,7 +91,7 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
removeEvent() {
|
removeEvent() {
|
||||||
mLogger.log(this.debugMode, 'HeroAttrs', `[HeroAttrs] 移除升级事件监听`);
|
mLogger.log(this.debugMode, 'HeroAttrs', ` 移除升级事件监听`);
|
||||||
oops.message.off(GameEvent.CanUpdateLv, this.onLevelUp, this);
|
oops.message.off(GameEvent.CanUpdateLv, this.onLevelUp, this);
|
||||||
// oops.message.off(GameEvent.UseItemCard, this.onUseItemCard, this);
|
// oops.message.off(GameEvent.UseItemCard, this.onUseItemCard, this);
|
||||||
// oops.message.off(GameEvent.UseAttrCard, this.onUseAttrCard, this);
|
// oops.message.off(GameEvent.UseAttrCard, this.onUseAttrCard, this);
|
||||||
@@ -143,11 +142,11 @@ export class HeroAttrsComp extends ecs.Comp {
|
|||||||
* 处理英雄升级逻辑
|
* 处理英雄升级逻辑
|
||||||
*/
|
*/
|
||||||
onLevelUp(event: string, args: any) {
|
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;
|
if (!this.is_master) return;
|
||||||
const newLv = args.lv;
|
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) {
|
if (newLv > this.lv) {
|
||||||
this.lv = newLv;
|
this.lv = newLv;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { BoxSet, FacSet, IndexSet } from "../common/config/GameSet";
|
|||||||
import { HeroInfo } from "../common/config/heroSet";
|
import { HeroInfo } from "../common/config/heroSet";
|
||||||
import { HeroAttrsComp } from "./HeroAttrsComp";
|
import { HeroAttrsComp } from "./HeroAttrsComp";
|
||||||
import { BuffConf, SkillSet } from "../common/config/SkillSet";
|
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 { getMonAttr, MonType } from "../map/RogueConfig";
|
||||||
import { HeroViewComp } from "./HeroViewComp";
|
import { HeroViewComp } from "./HeroViewComp";
|
||||||
import { HeroSkillsComp } from "./HeroSkills";
|
import { HeroSkillsComp } from "./HeroSkills";
|
||||||
@@ -128,8 +128,8 @@ export class Monster extends ecs.Entity {
|
|||||||
model.Attrs[Attrs.DEF] = def;
|
model.Attrs[Attrs.DEF] = def;
|
||||||
model.Attrs[Attrs.AP] = ap;
|
model.Attrs[Attrs.AP] = ap;
|
||||||
model.Attrs[Attrs.SPEED] = speed; // 使用成长后的速度
|
model.Attrs[Attrs.SPEED] = speed; // 使用成长后的速度
|
||||||
model.Attrs[Attrs.BACK_CHANCE]=15
|
model.Attrs[Attrs.BACK_CHANCE]=defaultAttrs[Attrs.BACK_CHANCE]
|
||||||
model.Attrs[Attrs.CON_RES]=10
|
model.Attrs[Attrs.CON_RES]=defaultAttrs[Attrs.CON_RES]
|
||||||
// ✅ 初始化技能数据(迁移到 HeroSkillsComp)
|
// ✅ 初始化技能数据(迁移到 HeroSkillsComp)
|
||||||
skillsComp.initSkills(hero.skills, uuid);
|
skillsComp.initSkills(hero.skills, uuid);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user