From fd60191324622420c1d2434ec384ebf0a1d706d5 Mon Sep 17 00:00:00 2001 From: walkpan Date: Sun, 24 May 2026 23:38:09 +0800 Subject: [PATCH] =?UTF-8?q?refactor(skill):=20=E8=B0=83=E6=95=B4=E6=8A=80?= =?UTF-8?q?=E8=83=BD=E8=A7=A6=E5=8F=91=E6=9E=9A=E4=B8=BE=E7=9A=84=E5=AD=98?= =?UTF-8?q?=E6=94=BE=E4=BD=8D=E7=BD=AE=E4=B8=8E=E4=BD=BF=E7=94=A8=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将SkillTriggerType枚举从GameEvent.ts迁移到heroSet.ts,统一管理技能触发相关配置,同时更新所有引用该枚举的文件路径,优化代码结构与维护性 --- assets/script/game/common/config/GameEvent.ts | 9 --- assets/script/game/common/config/heroSet.ts | 58 +++++++++++++------ assets/script/game/hero/Hero.ts | 3 +- assets/script/game/hero/HeroAtkSystem.ts | 3 +- assets/script/game/hero/HeroAttrsComp.ts | 16 ++--- assets/script/game/hero/Mon.ts | 3 +- assets/script/game/hero/SCastSystem.ts | 3 +- assets/script/game/hero/SkillTriggerHelper.ts | 3 +- assets/script/game/map/HInfoComp.ts | 2 +- assets/script/game/map/MissionComp.ts | 3 +- 10 files changed, 62 insertions(+), 41 deletions(-) diff --git a/assets/script/game/common/config/GameEvent.ts b/assets/script/game/common/config/GameEvent.ts index 514abd84..f99997ca 100644 --- a/assets/script/game/common/config/GameEvent.ts +++ b/assets/script/game/common/config/GameEvent.ts @@ -79,12 +79,3 @@ export enum GameEvent { RemoveSkillBox = "RemoveSkillBox", // 技能盒销毁事件 } -/** 触发技能类型枚举 */ -export enum SkillTriggerType { - Call = 'call', // 召唤时触发 - Dead = 'dead', // 死亡时触发 - FStart = 'fstart', // 战斗开始时触发 - FEnd = 'fend', // 战斗结束时触发 - Atking = 'atking', // 攻击时触发 - Atked = 'atked' // 受击时触发 -} \ No newline at end of file diff --git a/assets/script/game/common/config/heroSet.ts b/assets/script/game/common/config/heroSet.ts index b3f685fb..141c8662 100644 --- a/assets/script/game/common/config/heroSet.ts +++ b/assets/script/game/common/config/heroSet.ts @@ -75,16 +75,40 @@ export enum MonStart { /** -call 召唤后触发 降临 -dead 死亡后触发 遗志 -fstart 战斗开始 先手 -fend 战斗结束 终战 -field 驻场 光环 -atking 攻击后触发 追击 -atked 受击后触发 反击 -revive 复活触发 涅槃 + * 特殊触发技能类型 + */ +export enum SkillTriggerType { + Call = "call", // 召唤后触发 降临 + Dead = "dead", // 死亡后触发 遗志 + FStart = "fstart", // 战斗开始 先手 + FEnd = "fend", // 战斗结束 终战 + Field = "field", // 驻场 光环 + Atking = "atking", // 攻击后触发 追击 + Atked = "atked", // 受击后触发 反击 + Revive = "revive", // 复活触发 涅槃 +} -**/ +export const SkillTriggerName = { + [SkillTriggerType.Call]: "降临", + [SkillTriggerType.Dead]: "遗志", + [SkillTriggerType.FStart]: "先手", + [SkillTriggerType.FEnd]: "终战", + [SkillTriggerType.Field]: "光环", + [SkillTriggerType.Atking]: "追击", + [SkillTriggerType.Atked]: "反击", + [SkillTriggerType.Revive]: "涅槃", +} + +export const SkillTriggerDesc = { + [SkillTriggerType.Call]: "召唤时:", + [SkillTriggerType.Dead]: "死亡时:", + [SkillTriggerType.FStart]: "战斗开始时:", + [SkillTriggerType.FEnd]: "战斗结束时:", + [SkillTriggerType.Field]: "驻场时:", + [SkillTriggerType.Atking]: "攻击后时:", + [SkillTriggerType.Atked]: "受击后时:", + [SkillTriggerType.Revive]: "复活时:", +} /** * 英雄/怪物基础信息接口 @@ -101,14 +125,14 @@ export interface heroInfo { type: HType; // 攻击定位(近战/中程/远程) hp: number; // 生命值上限 ap: number; // 攻击力 - call?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 召唤后触发的技能配置 - dead?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 死亡后触发的技能配置 - fstart?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 战斗开始时释放的技能配置 - fend?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 战斗结束时释放的技能配置 - field?:number[]; // 驻场技能uuid列表,英雄在场时对全局生效 - atking?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 普通攻击后触发的技能配置,s_uuid: 技能id, t_num: 触发所需的普攻次数 - atked?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 受击后触发的技能配置,s_uuid: 技能id, t_num: 触发所需的受击次数 - revive?:{s_uuid:number,r_num:number,upr:number}; // 复活技能配置,s_uuid: 技能id, r_num: 触发所需的复活次数, upr 等级对复活次数的影响 + [SkillTriggerType.Call]?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 召唤后触发的技能配置 + [SkillTriggerType.Dead]?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 死亡后触发的技能配置 + [SkillTriggerType.FStart]?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 战斗开始时释放的技能配置 + [SkillTriggerType.FEnd]?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 战斗结束时释放的技能配置 + [SkillTriggerType.Field]?:number[]; // 驻场技能uuid列表,英雄在场时对全局生效 + [SkillTriggerType.Atking]?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 普通攻击后触发的技能配置,s_uuid: 技能id, t_num: 触发所需的普攻次数 + [SkillTriggerType.Atked]?:{s_uuid:number, t_num:number, overrides?: SkillOverrides}[]; // 受击后触发的技能配置,s_uuid: 技能id, t_num: 触发所需的受击次数 + [SkillTriggerType.Revive]?:{s_uuid:number,r_num:number,upr:number}; // 复活技能配置,s_uuid: 技能id, r_num: 触发所需的复活次数, upr 等级对复活次数的影响 dis?: number; // 攻击距离(像素) speed?: number; // 移动速度(像素/秒) skills: Record ; // 携带技能ID列表 diff --git a/assets/script/game/hero/Hero.ts b/assets/script/game/hero/Hero.ts index e60d8659..1aab45eb 100644 --- a/assets/script/game/hero/Hero.ts +++ b/assets/script/game/hero/Hero.ts @@ -6,7 +6,8 @@ import { HeroAttrsComp } from "./HeroAttrsComp"; import { HeroViewComp } from "./HeroViewComp"; import { BoxSet, FacSet, FightSet, IndexSet } from "../common/config/GameSet"; import { HeroInfo, HeroPos, resolveFormationTargetX } from "../common/config/heroSet"; -import { GameEvent, SkillTriggerType } from "../common/config/GameEvent"; +import { GameEvent } from "../common/config/GameEvent"; +import { SkillTriggerType } from "../common/config/heroSet"; import { SkillTriggerHelper } from "./SkillTriggerHelper"; import { Attrs} from "../common/config/HeroAttrs"; import { MoveComp } from "./MoveComp"; diff --git a/assets/script/game/hero/HeroAtkSystem.ts b/assets/script/game/hero/HeroAtkSystem.ts index 4612c6b5..affd48d2 100644 --- a/assets/script/game/hero/HeroAtkSystem.ts +++ b/assets/script/game/hero/HeroAtkSystem.ts @@ -9,7 +9,8 @@ import { DamageQueueComp, DamageEvent } from "./DamageQueueComp"; import { smc } from "../common/SingletonModuleComp"; import { HeroInfo } from "../common/config/heroSet"; import { oops } from "db://oops-framework/core/Oops"; -import { GameEvent, SkillTriggerType } from "../common/config/GameEvent"; +import { GameEvent } from "../common/config/GameEvent"; +import { SkillTriggerType } from "../common/config/heroSet"; import { FieldSkillType } from "../common/config/SkillSet"; import { mLogger } from "../common/Logger"; diff --git a/assets/script/game/hero/HeroAttrsComp.ts b/assets/script/game/hero/HeroAttrsComp.ts index 93da309c..f91019f7 100644 --- a/assets/script/game/hero/HeroAttrsComp.ts +++ b/assets/script/game/hero/HeroAttrsComp.ts @@ -1,5 +1,5 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS"; -import { HeroDisVal, HeroInfo, HSkillInfo, HType } from "../common/config/heroSet"; +import { HeroDisVal, HeroInfo, HSkillInfo, HType, SkillTriggerType } from "../common/config/heroSet"; import { mLogger } from "../common/Logger"; import { Timer } from "db://oops-framework/core/common/timer/Timer"; import { FacSet, FightSet } from "../common/config/GameSet"; @@ -36,13 +36,13 @@ export class HeroAttrsComp extends ecs.Comp { skills: Record = {}; // ==================== 触发类技能 ==================== - call?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; - dead?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; - fstart?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; - fend?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; - atking?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; - atked?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; - revive?: {s_uuid: number, r_num: number, upr: number}; + [SkillTriggerType.Call]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; + [SkillTriggerType.Dead]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; + [SkillTriggerType.FStart]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; + [SkillTriggerType.FEnd]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; + [SkillTriggerType.Atking]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; + [SkillTriggerType.Atked]?: { s_uuid: number; t_num: number; overrides?: SkillOverrides }[]; + [SkillTriggerType.Revive]?: {s_uuid: number, r_num: number, upr: number}; // ==================== 特殊属性 ==================== critical: number = 0; // 暴击率 diff --git a/assets/script/game/hero/Mon.ts b/assets/script/game/hero/Mon.ts index 2cce6fbe..db6894c2 100644 --- a/assets/script/game/hero/Mon.ts +++ b/assets/script/game/hero/Mon.ts @@ -8,7 +8,8 @@ import { HeroAttrsComp } from "./HeroAttrsComp"; import { HeroViewComp } from "./HeroViewComp"; import { MoveComp } from "./MoveComp"; import { MonMoveComp } from "./MonMoveComp"; -import { GameEvent, SkillTriggerType } from "../common/config/GameEvent"; +import { GameEvent } from "../common/config/GameEvent"; +import { SkillTriggerType } from "../common/config/heroSet"; import { SkillTriggerHelper } from "./SkillTriggerHelper"; /** 怪物实体:负责怪物对象池复用、属性初始化、入场动画与回收 */ @ecs.register(`Monster`) diff --git a/assets/script/game/hero/SCastSystem.ts b/assets/script/game/hero/SCastSystem.ts index 41391d77..15cf3f30 100644 --- a/assets/script/game/hero/SCastSystem.ts +++ b/assets/script/game/hero/SCastSystem.ts @@ -9,7 +9,8 @@ import { HeroDisVal, HeroInfo, HType } from "../common/config/heroSet"; import { Attrs } from "../common/config/HeroAttrs"; import { BoxSet, FacSet, FightSet } from "../common/config/GameSet"; import { oops } from "db://oops-framework/core/Oops"; -import { GameEvent, SkillTriggerType } from "../common/config/GameEvent"; +import { GameEvent } from "../common/config/GameEvent"; +import { SkillTriggerType } from "../common/config/heroSet"; import { SkillTriggerHelper } from "./SkillTriggerHelper"; import { MissionEconomy } from "../map/MissionEconomy"; diff --git a/assets/script/game/hero/SkillTriggerHelper.ts b/assets/script/game/hero/SkillTriggerHelper.ts index 5fdb7e67..7d09334b 100644 --- a/assets/script/game/hero/SkillTriggerHelper.ts +++ b/assets/script/game/hero/SkillTriggerHelper.ts @@ -1,5 +1,6 @@ import { oops } from "db://oops-framework/core/Oops"; -import { GameEvent, SkillTriggerType } from "../common/config/GameEvent"; +import { GameEvent } from "../common/config/GameEvent"; +import { SkillTriggerType } from "../common/config/heroSet"; import { HeroAttrsComp } from "./HeroAttrsComp"; import { HeroViewComp } from "./HeroViewComp"; import { FacSet } from "../common/config/GameSet"; diff --git a/assets/script/game/map/HInfoComp.ts b/assets/script/game/map/HInfoComp.ts index 4e71aaac..9708afa3 100644 --- a/assets/script/game/map/HInfoComp.ts +++ b/assets/script/game/map/HInfoComp.ts @@ -62,7 +62,7 @@ export class HInfoComp extends CCComp { /** 英雄名字节点 */ @property(Node) Name_node=null! - /** 高品质边框 */ + @property(Node) info_node=null! diff --git a/assets/script/game/map/MissionComp.ts b/assets/script/game/map/MissionComp.ts index ff600a0c..a9393049 100644 --- a/assets/script/game/map/MissionComp.ts +++ b/assets/script/game/map/MissionComp.ts @@ -33,7 +33,8 @@ import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/modu import { smc } from "../common/SingletonModuleComp"; import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops"; import { HeroAttrsComp } from "../hero/HeroAttrsComp"; -import { GameEvent, SkillTriggerType } from "../common/config/GameEvent"; +import { GameEvent } from "../common/config/GameEvent"; +import { SkillTriggerType } from "../common/config/heroSet"; import { HeroViewComp } from "../hero/HeroViewComp"; import { SkillTriggerHelper } from "../hero/SkillTriggerHelper"; import { UIID } from "../common/config/GameUIConfig";