feat(heroBox): 实现当前等级技能描述面板功能

1. 新增SkillDescSet结构化技能描述配置表,实现配置驱动的文案生成
2. 改造HeroSkillDesc生成器,支持静态heroInfo和运行时HeroAttrsComp两种数据源
3. 为HeroAttrsComp新增evolve配置快照字段,用于展示等级成长属性
4. 在HeroBoxComp中集成技能描述UI组件,动态渲染当前英雄等级的技能效果
5. 新增设计文档说明方案细节,确保可维护性和可扩展性
This commit is contained in:
panFD
2026-07-30 22:30:26 +08:00
parent 8fa54e894a
commit 04f39217ac
7 changed files with 448 additions and 102 deletions

View File

@@ -166,6 +166,8 @@ export class Hero extends ecs.Entity {
// 应用等级进化配置(从 lv2 开始逐级覆盖)
if (hero.evolve) {
// 记录 evolve 配置快照(只读引用),供 UI 计算 ap/hp 额外加成文案
model.evolve = hero.evolve;
for (let elv = 2; elv <= hero_lv; elv++) {
const evo = hero.evolve[elv];
if (!evo) continue;

View File

@@ -1,5 +1,5 @@
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { HeroDisVal, HeroInfo, HSkillInfo, HType, SkillTriggerType } from "../common/config/heroSet";
import { HeroDisVal, HeroInfo, HSkillInfo, HType, SkillTriggerType, HeroEvolve } from "../common/config/heroSet";
import { mLogger } from "../common/Logger";
import { FacSet, FightSet } from "../common/config/GameSet";
import { FieldSkillSet, FieldSkillType, SkillOverrides } from "../common/config/SkillSet";
@@ -52,6 +52,9 @@ export class HeroAttrsComp extends ecs.Comp {
[SkillTriggerType.Field]?: number[];
[SkillTriggerType.Revive]?: { s_uuid: number, r_num: number, upr: number };
/** 等级进化配置快照(引用 heroInfo.evolve只读供 UI 计算 ap/hp 额外加成文案) */
evolve?: Record<number, HeroEvolve>;
// ==================== 特殊属性 ====================
critical: number = 0; // 暴击率
critical_res: number = 0; // 暴击抗性
@@ -545,6 +548,7 @@ export class HeroAttrsComp extends ecs.Comp {
this.atking = undefined;
this.atked = undefined;
this.revive = undefined;
this.evolve = undefined;
this.critical = 0;
this.critical_res = 0;
this.freeze_chance = 0;