feat(hero-ui): 新增普攻lv2强化档独立展示功能
实现英雄图鉴中普攻lv2强化档的单独展示逻辑: 1. 为技能档位渲染添加minLv参数,支持裁剪低档位 2. 新增普攻lv2专属模式,图标/名称取lv1,弹窗仅展示lv2+档位 3. 自动为符合条件的普攻强化档生成独立技能图标 4. 适配等级显示偏移,配置Lv2显示为Lv1
This commit is contained in:
@@ -542,9 +542,11 @@ function buildTierLines(tiers: ISkillTierInfo[], triggerLabel: string): HeroSkil
|
||||
* @param heroUuid 英雄 uuid(HeroInfo key)
|
||||
* @param skillUuid 技能 uuid(skills key / 触发组 s_uuid / FieldSkillSet uuid / 复活 SkillSet uuid)
|
||||
* @param slot 技能所属槽位(可空):指定时仅在该槽位查找;缺省按上述顺序自动定位
|
||||
* @param minLv 最低展示档(默认 1):传 2 时裁剪掉 sLv<2 的档,仅保留 lv2+ 档位
|
||||
* (普攻强化档作为独立技能展示的场景,如 heroSet 普攻 lv2 档单独出图标)
|
||||
* @returns 档位行数组;技能不属于该英雄时返回 []
|
||||
*/
|
||||
export function buildHeroSkillTierLines(heroUuid: number, skillUuid: number, slot?: SkillTriggerType): HeroSkillTierLine[] {
|
||||
export function buildHeroSkillTierLines(heroUuid: number, skillUuid: number, slot?: SkillTriggerType, minLv: number = 1): HeroSkillTierLine[] {
|
||||
const hero = HeroInfo[heroUuid];
|
||||
if (!hero) return [];
|
||||
|
||||
@@ -577,12 +579,13 @@ export function buildHeroSkillTierLines(heroUuid: number, skillUuid: number, slo
|
||||
// 光环路径(无 ISkillTierInfo 中间结构,直接生成 HeroSkillTierLine)
|
||||
if (tiers.length === 0) {
|
||||
const fieldLines = collectFieldTierLines(hero, skillUuid);
|
||||
if (fieldLines.length > 0) return fieldLines;
|
||||
if (fieldLines.length > 0) return minLv > 1 ? fieldLines.filter(l => l.sLv >= minLv) : fieldLines;
|
||||
// 复活已纳入 dead 触发组,通过 dead 路径处理
|
||||
return [];
|
||||
}
|
||||
|
||||
return buildTierLines(tiers, triggerLabel);
|
||||
const lines = buildTierLines(tiers, triggerLabel);
|
||||
return minLv > 1 ? lines.filter(l => l.sLv >= minLv) : lines;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user