refactor(debuff-icon): 移动debuff图标配置到公共配置文件
将HeroTopBarComp中的DEBUFF_ICON_MAP常量和相关枚举抽离到common/config/BuffSet中,实现两处代码共用一套debuff图标配置,同时清理冗余的旧代码
This commit is contained in:
@@ -29,6 +29,33 @@ export interface BuffTickEffect {
|
||||
scale_by_ap_pct: number; // 按施法者 ap 缩放百分比,0=不吃加成
|
||||
}
|
||||
|
||||
/**
|
||||
* debuff 图标节点名枚举。
|
||||
* 取值即 prefab 节点名:top.prefab 的 top/debuff 容器 与 tooltip.prefab 的 loss_life/hp/debuff 容器
|
||||
* 下存在同名子节点(两处共用一套图标)。
|
||||
* 注意:LightningDamag 为 prefab 原始拼写(少个 e),勿"修正"。
|
||||
*/
|
||||
export enum DebuffIcon {
|
||||
AttackDebuff = "AttackDebuff", // 攻击类 debuff
|
||||
IceDamage = "IceDamage", // 冰系伤害
|
||||
FireDamage = "FireDamage", // 火系伤害(灼烧)
|
||||
LightningDamag = "LightningDamag", // 雷系伤害
|
||||
Penetration = "Penetration", // 穿透
|
||||
Stun = "Stun", // 击晕
|
||||
Poison = "Poison", // 中毒
|
||||
}
|
||||
|
||||
/**
|
||||
* buffId → debuff 图标映射。
|
||||
* 仅伤害类/控制类 debuff 需要图标;未映射的 buff 不显示。
|
||||
* 新增 debuff 时:1) BuffList 加配置 2) 此处加一行映射。
|
||||
*/
|
||||
export const DEBUFF_ICON_MAP: Record<number, DebuffIcon> = {
|
||||
7002: DebuffIcon.FireDamage, // 灼烧
|
||||
7003: DebuffIcon.IceDamage, // 冰冻
|
||||
7004: DebuffIcon.Stun, // 击晕
|
||||
};
|
||||
|
||||
/** Buff 静态定义 */
|
||||
export interface BuffConfig {
|
||||
id: number;
|
||||
|
||||
@@ -19,7 +19,7 @@ import { getMonsterGoldDrop } from "../map/RogueConfig";
|
||||
import { MissionEconomy } from "../map/MissionEconomy";
|
||||
import { MoveComp } from "./MoveComp";
|
||||
import { buffManager, BuffApplyOverrides } from "./BuffManager";
|
||||
import { DEBUFF_ICON_MAP } from "./HeroTopBarComp";
|
||||
import { DEBUFF_ICON_MAP } from "../common/config/BuffSet";
|
||||
|
||||
/** 最终伤害数据接口
|
||||
* 用于封装一次攻击计算的所有结果数据
|
||||
|
||||
@@ -3,7 +3,7 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||
import { HeroAttrsComp } from "./HeroAttrsComp";
|
||||
import { BuffComp } from "./BuffComp";
|
||||
import { BuffList, BuffCategory } from "../common/config/BuffSet";
|
||||
import { BuffList, BuffCategory, DEBUFF_ICON_MAP } from "../common/config/BuffSet";
|
||||
import { FacSet, FightSet } from "../common/config/GameSet";
|
||||
|
||||
const { ccclass, property } = _decorator;
|
||||
@@ -20,15 +20,6 @@ const { ccclass, property } = _decorator;
|
||||
* 数据流:HeroViewComp 将 HeroAttrsComp 引用传入,本组件通过 model 读取属性。
|
||||
* 注意:英雄根节点下的 "shielded" 是护盾特效动画节点,由 HeroViewComp 管理,不在本组件职责内。
|
||||
*/
|
||||
/**
|
||||
* buffId → debuff 图标节点名映射(节点名为 top.prefab / tooltip.prefab debuff 容器下的子节点名,两处同名)。
|
||||
* 仅伤害类 debuff 需要图标;未映射的 buff 不显示。
|
||||
* 导出供 HeroTopBarComp(头顶 debuff 栏)与 HeroAtkSystem(DoT 飘字图标)共用。
|
||||
*/
|
||||
export const DEBUFF_ICON_MAP: Record<number, string> = {
|
||||
7002: "FireDamage", // 灼烧
|
||||
};
|
||||
|
||||
@ccclass('HeroTopBarComp')
|
||||
@ecs.register('HeroTopBar', false)
|
||||
export class HeroTopBarComp extends CCComp {
|
||||
|
||||
Reference in New Issue
Block a user