/** * @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(); } }