refactor(skill): 统一复活技能归类到dead触发组

更新多处注释与代码逻辑,将复活技能统一纳入dead触发组进行处理,移除冗余的单独复活图标添加方法,统一技能展示与配置逻辑。
This commit is contained in:
panFD
2026-09-03 22:49:22 +08:00
parent 7f81634dd1
commit a41ff479da
4 changed files with 10 additions and 13 deletions

View File

@@ -57,7 +57,7 @@ function skillNameRich(name: string): string {
/* ==================== 模板渲染基础 ==================== */
/** 需要遍历的触发技能类型(field/revive 结构不同,单独处理) */
/** 需要遍历的触发技能类型(field 结构不同,单独处理;复活已纳入 dead) */
const TRIGGER_KEYS: SkillTriggerType[] = [
SkillTriggerType.Call,
SkillTriggerType.Dead,
@@ -145,7 +145,7 @@ function getHeroDisplayLv(heroUuid: number, configLv: number, fac: FacSet): numb
* 输出一:英雄当前局外等级下,全部技能最大生效档的完整说明(富文本)。
*
* 覆盖:普攻/大招(skills,resolve ≤lv 最大档)、5 类触发技能、驻场光环(field)、
* 复活(revive)。每行 = 「技能名」:(或「技能名」+ 触发语境)+ 模板渲染后的效果文本(数值高亮),
* 死亡触发(dead,含复活)。每行 = 「技能名」:(或「技能名」+ 触发语境)+ 模板渲染后的效果文本(数值高亮),
* 不展示技能等级档号(当前档由英雄局外等级隐含决定)。
*
* Why 普攻默认隐藏:skills 首位为普攻(全英雄共有基础能力),展示场景通常只关心

View File

@@ -486,7 +486,7 @@ export class HerosListComp extends CCComp {
// ======================== 技能图标列表 ========================
/** 图鉴面板展示的触发技能类型(heroInfo 触发配置:死亡/战斗开始/光环/攻击后/受击/复活) */
/** 图鉴面板展示的触发技能类型(heroInfo 触发配置:死亡/战斗开始/光环/攻击后/受击) */
private static readonly PANEL_TRIGGER_TYPES: SkillTriggerType[] = [
SkillTriggerType.Dead,
SkillTriggerType.FStart,
@@ -498,7 +498,7 @@ export class HerosListComp extends CCComp {
/**
* 刷新当前英雄的技能图标列表:
* 1. 大招:skills[1] 及以后(首个为普攻,跳过)。
* 2. 触发技能:Dead/FStart/Field/Atking/Atked/Revive。
* 2. 触发技能:Dead/FStart/Field/Atking/Atked(复活已纳入 dead)。
* 以局外等级(getHeroOuterLv)为当前等级,未达解锁档的显示 locked,
* 已激活的显示当前等级对应的技能等级。
*/
@@ -538,8 +538,8 @@ export class HerosListComp extends CCComp {
* @param s_lv 当前等级对应的技能等级(locked 时为解锁预览档)
* @param locked 当前等级未激活 → 显示锁定遮罩
* @param isField true 表示驻场光环词条(图标取 FieldSkillSet)
* @param slot 技能所属槽位(普攻/大招传 undefined;触发/光环/复活传对应类型,
* 同一底座不同槽位视为不同技能,弹窗按槽位精确取档)
* @param slot 技能所属槽位(普攻/大招传 undefined;触发/光环传对应类型,
* 同一底座不同槽位视为不同技能,弹窗按槽位精确取档;复活已纳入 dead)
*/
private addSkillIcon(s_uuid: number, s_lv: number, locked: boolean, isField: boolean, slot?: SkillTriggerType) {
const node = instantiate(this.skill_icon_prefab)
@@ -581,10 +581,7 @@ export class HerosListComp extends CCComp {
}
}
/** 复活技能已纳入 dead 触发组,通过 dead 配置展示(revive_hp / revive_count) */
private addReviveIcon(_revive: unknown, _lv: number) {
// 复活已纳入 dead 触发组,不再单独处理
}
/** 复活技能已纳入 dead 触发组,通过 dead 配置展示(revive_hp / revive_count),无需单独处理 */
// ======================== 英雄动画 ========================

View File

@@ -106,7 +106,7 @@ export class SSkillBoxComp extends CCComp {
* @param locked 当前等级未激活时显示锁定遮罩
* @param isField true 时图标取 FieldSkillSet(驻场光环词条)
* @param heroUuid 所属英雄 UUID(点击弹窗按英雄技能分档描述渲染)
* @param slot 技能所属槽位(普攻/大招传 undefined;触发/光环/复活传对应类型)
* @param slot 技能所属槽位(普攻/大招传 undefined;触发/光环传对应类型,复活已纳入 dead)
*/
initHeroSkill(s_uuid: number, s_lv: number, locked: boolean, isField: boolean = false, heroUuid: number = 0, slot?: SkillTriggerType) {
this.s_uuid = s_uuid;
@@ -163,7 +163,7 @@ export class SSkillBoxComp extends CCComp {
/**
* 英雄图鉴模式:按技能 uuid 在英雄配置中定位,取英雄语境展示名。
* 覆盖普攻/大招(skills)、5 类触发技能、驻场光环(field)、复活(revive)。
* 覆盖普攻/大招(skills)、5 类触发技能、驻场光环(field);复活已纳入 dead 触发组。
* 指定槽位时仅在对应槽位查找(同一底座可同时是普攻与触发技能,需精确区分);
* 未命中返回空串,由调用方回退底座名。
*/

View File

@@ -25,7 +25,7 @@
* - SkillCardList(卡牌静态配置)
* - CardSkillText(buildCardDescRich 富文本描述生成,卡牌模式)
* - HeroSkillText(buildHeroSkillTierLines 技能分档描述,英雄技能模式,
* 覆盖普攻/大招、触发技能、驻场光环词条与复活)
* 覆盖普攻/大招、触发技能、驻场光环词条;复活已纳入 dead 触发组)
*/
import { _decorator, Node, Label, RichText, NodeEventType, Sprite, Color, input, Input, EventTouch, UITransform, Vec3 } from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";