feat(hero-config): 新增英雄额外属性加成档位的图鉴展示支持
本次变更完成了英雄bonus属性加成系统的图鉴可视化改造: 1. 扩展LvBonusAttrsEntry类型,新增name/icon/info配置字段 2. 服务端渲染兼容新增字段,仅在配置存在时输出 3. 更新英雄配置文档,补充bonus字段的新参数说明 4. 新增属性加成编辑器表单,支持配置名称、图标和自定义描述 5. 实现英雄图鉴的bonus档位图标渲染逻辑,支持锁定状态和点击弹窗 6. 新增bonus效果文案生成工具,支持自定义模板和属性自动生成 7. 为技能弹窗新增bonus专属渲染逻辑,适配属性加成档位的展示 8. 为部分测试英雄配置了bonus档位的名称属性
This commit is contained in:
@@ -22,7 +22,7 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
|
||||
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
|
||||
import { oops } from "db://oops-framework/core/Oops";
|
||||
import { mLogger } from "../common/Logger";
|
||||
import { HeroInfo, HeroList, SkillTriggerType, LvFieldEntry, LvTriggerEntry, TriggerGrouped, HSkillInfo, getHeroDisplayStats } from "../common/config/heroSet";
|
||||
import { HeroInfo, HeroList, SkillTriggerType, LvFieldEntry, LvTriggerEntry, TriggerGrouped, HSkillInfo, getHeroDisplayStats, LvBonusAttrsEntry } from "../common/config/heroSet";
|
||||
import { buildHeroSkillDesc } from "../common/HeroSkillText";
|
||||
import { GameEvent } from "../common/config/GameEvent";
|
||||
import { HERO_UPGRADE_NEED_FRAGMENTS, RARITY_BG_COLORS } from "../common/config/GameSet";
|
||||
@@ -537,6 +537,26 @@ export class HerosListComp extends CCComp {
|
||||
this.addTriggerGroupIcon(hero[type] as TriggerGrouped | undefined, lv, type)
|
||||
}
|
||||
}
|
||||
|
||||
// ---- bonus 档位:配置了 icon 的档位在技能列表最末各出一个图标 ----
|
||||
this.addBonusIcons(hero.bonus, lv)
|
||||
}
|
||||
|
||||
/**
|
||||
* bonus 档位图标:配置了 icon 的档位各出一个图标(追加在技能列表最末)。
|
||||
* 激活判定:英雄局外等级 ≥ 档位 lv;未激活显示锁定遮罩。
|
||||
* 点击弹窗走 SinfoComp bonus 专属渲染(名称/图标取档位配置,主说明为 attrs 效果)。
|
||||
*/
|
||||
private addBonusIcons(bonus: LvBonusAttrsEntry[] | undefined, lv: number) {
|
||||
if (!bonus?.length) return
|
||||
for (const entry of bonus) {
|
||||
if (!entry.icon) continue
|
||||
const node = instantiate(this.skill_icon_prefab)
|
||||
node.name = `bonus_lv${entry.lv}`
|
||||
const comp = node.getComponent(SSkillBoxComp) || node.addComponent(SSkillBoxComp)
|
||||
comp.initBonus(this.huuid, entry, lv < entry.lv)
|
||||
this.skills_node.addChild(node)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user