Files
pixelheros/assets/script/game/map/HerosListComp.ts
panw ff2785680d feat(map): 新增英雄图鉴相关组件与配置
1.  新增CardLiteComp卡牌组件、HerosListComp英雄列表组件
2.  新增cardlite预制体及其元配置
3.  重构HlistComp移除旧的英雄图标节点与切换按钮逻辑
2026-05-27 10:08:16 +08:00

85 lines
2.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* @file HerosListComp.ts
* @description 英雄图鉴弹出页面UI 视图层)
*
*/
import { _decorator, Animation, AnimationClip, Button, Event, Label, Node, NodeEventType, Sprite, resources, tween, Vec3, Widget, Prefab } from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { HeroInfo, HeroList } from "../common/config/heroSet";
import { IType, SkillSet } from "../common/config/SkillSet";
import { oops } from "db://oops-framework/core/Oops";
import { mLogger } from "../common/Logger";
import { UIID } from "../common/config/GameUIConfig";
const {property, ccclass } = _decorator;
/**
* HerosListComp —— 英雄图鉴轮播视图组件
*
* 在任务主页展示所有可用英雄玩家可点击切换当前选中英雄的名称、AP、HP、CD、技能信息
*/
@ccclass('HerosListComp')
@ecs.register('HerosListComp', false)
export class HerosListComp extends CCComp {
// ======================== 编辑器绑定节点 ========================
/** 当前英雄 idle 图标节点 */
@property(Node)
hero_icon=null!
/** 攻击力标签节点 */
@property(Node)
ap_node=null!
/** 生命值标签节点 */
@property(Node)
hp_node=null!
/** 冷却时间标签节点 */
@property(Node)
cd_node=null!
/** 技能信息容器节点(包含 Line1~Line5 子节点) */
@property(Node)
info_node=null!
/** 英雄名称标签节点 */
@property(Node)
name_node=null!
/** 英雄图鉴卡容器节点 */
@property(Node)
cards_node=null!
/** 英雄图鉴卡预制体 */
@property(Prefab)
card_lite_prefab=null!
// ======================== 运行时状态 ========================
/** 当前选中英雄在 HeroList 中的索引 */
huuid:number=null!
/** 当前选中英雄在 HeroList 数组中的下标 */
/** 调试日志开关 */
debugMode: boolean = false;
onLoad() {
}
/** 预留:弹窗打开时接收参数 */
onAdded(args: any) {
}
/** 关闭英雄图鉴弹窗 */
closeHeros(){
oops.gui.remove(UIID.Heros)
}
start() {
}
/** ECS 组件移除时销毁节点 */
reset() {
this.node.destroy();
}
}