feat(hero): 优化英雄详情页技能展示逻辑

1. 新增带等级和升级预览的技能描述渲染函数
2. 为技能档位添加专属命名,支持按触发语境显示技能名
3. 给所有技能档位补充技能等级标注,优化面板展示
4. 新增200个游戏技能名称配置文件
This commit is contained in:
panFD
2026-08-08 23:27:47 +08:00
parent 6cfe734724
commit ac14b8563c
4 changed files with 522 additions and 102 deletions

View File

@@ -17,7 +17,7 @@ import { _decorator, Component, Label, NodeEventType, RichText } from "cc";
import { oops } from "db://oops-framework/core/Oops";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { HeroAttrsComp } from "../hero/HeroAttrsComp";
import { buildSkillDescRich } from "../common/config/HeroSkillDesc";
import { buildSkillDescMoreRich } from "../common/config/HeroSkillDesc";
const { ccclass, property } = _decorator;
@@ -190,11 +190,10 @@ export class HeroMoreCom extends Component {
const finalWfuny = this.model.getFinalWindFury();
this.setStatRow(this.wfuny_all_label, this.wfuny_plus_label, finalWfuny, finalWfuny - (this.model.wfuny ?? 0), "%");
// ---- 技能描述(全档位合并:每技能一行,已/未激活状态 + 数值富文本高亮 ----
// ---- 技能描述(技能名+技能等级 Lv.x附升级提示 Lv.x→Lv.y 金色预览 ----
if (this.skill_label && this.skill_label.isValid) {
// 缓存未变则跳过重设,避免降频内 RichText 重复重解析排版
// showName=false 不显示技能名仅保留效果showLocked=true 合并全档位
const desc = buildSkillDescRich(this.model, false, true);
const desc = buildSkillDescMoreRich(this.model);
if (desc !== this.skillDescCache) {
this.skillDescCache = desc;
this.skill_label.string = desc;