refactor(英雄属性): 重构属性系统为扁平结构并移除技能组件
- 将 Attrs 枚举从数字索引改为字符串键值对,直接映射到 HeroAttrsComp 的字段 - 删除 HeroSkillsComp 组件,将攻击和技能计时器移至 HeroAttrsComp - 移除复杂的属性类型映射和初始化函数,简化属性访问逻辑 - 更新 HeroViewComp 以直接使用模型字段而非通过 Attrs 枚举 - 重命名 NeAttrs 为 Debuff 并调整相关配置接口
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
import { Attrs, AttrsType, BType, NeAttrs } from "../common/config/HeroAttrs";
|
||||
import { BType } from "../common/config/HeroAttrs";
|
||||
import { BuffConf, SkillRange } from "../common/config/SkillSet";
|
||||
import { HeroInfo, AttrSet, HType, JobUpConf } from "../common/config/heroSet";
|
||||
import { HeroSkillsComp } from "./HeroSkills";
|
||||
import { smc } from "../common/SingletonModuleComp";
|
||||
import { HeroInfo } from "../common/config/heroSet";
|
||||
import { mLogger } from "../common/Logger";
|
||||
import { _decorator } from "cc";
|
||||
|
||||
@@ -37,9 +35,10 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
shield_max: number = 0; // 最大护盾值
|
||||
|
||||
// ==================== 攻击属性 (补充) ====================
|
||||
as: number = 0; // 攻击速度(减少技能skills[0]CD)
|
||||
ss: number = 0; // 技能速度 (减少skills[0] 以外的cd)
|
||||
|
||||
a_cd: number = 0; // 攻击计时
|
||||
s_cd: number = 0; // 技能计时
|
||||
a_cd_max: number = 0; // 攻击CD
|
||||
s_cd_max: number = 0; // 技能CD
|
||||
// ==================== 暴击与命中属性 ====================
|
||||
critical: number = 0; // 暴击率
|
||||
critical_dmg: number = 0; // 暴击伤害
|
||||
@@ -59,6 +58,9 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
puncture: number = 0; // 穿刺次数
|
||||
puncture_dmg: number = 0; // 穿刺伤害
|
||||
wfuny: number = 0; // 风怒
|
||||
|
||||
|
||||
|
||||
boom: boolean = false; // 自爆怪
|
||||
|
||||
|
||||
@@ -91,10 +93,9 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
atk_count: number = 0; // 攻击次数
|
||||
atked_count: number = 0; // 被攻击次数
|
||||
killed_count:number=0;
|
||||
// 注意:技能数据已迁移到 HeroSkillsComp,不再存储在这里
|
||||
atk_id:number=0; //普通攻击技能id
|
||||
skill_id:number=0; //技能攻击技能id
|
||||
|
||||
|
||||
|
||||
start(){
|
||||
}
|
||||
// ==================== BUFF 系统初始化 ====================
|
||||
@@ -216,8 +217,10 @@ export class HeroAttrsComp extends ecs.Comp {
|
||||
this.shield_max = 0;
|
||||
|
||||
// 重置新增属性
|
||||
this.as = 0;
|
||||
this.ss = 0;
|
||||
this.a_cd = 0;
|
||||
this.s_cd = 0;
|
||||
this.a_cd_max = 0;
|
||||
this.s_cd_max = 0;
|
||||
this.critical = 0;
|
||||
this.critical_dmg = 0;
|
||||
this.freeze_chance = 0;
|
||||
|
||||
Reference in New Issue
Block a user