/** * @file RanksComp.ts * @description 排行榜页面组件(UI 视图层) * * 职责: * 1. 展示排行榜界面,包含 Top1~Top3 特殊位和通用列表区域。 * 2. 提供关闭排行榜页面的按钮回调。 * * 关键设计: * - top1_node / top2_node / top3_node 用于展示前三名玩家的特殊样式。 * - lists_node 为滚动列表的容器节点。 * - list_prefab / melist_prefab 分别为普通排名项和"我的排名"项的预制体。 * * 依赖: * - MissionHomeComp —— 通过节点 active 显隐控制页面切换 */ import { _decorator, Animation, AnimationClip, Button, Event, Label, Node, NodeEventType, Sprite, resources, 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 } from "../common/config/heroSet"; import { HeroAttrsComp } from "../hero/HeroAttrsComp"; import { Hero } from "../hero/Hero"; import { mLogger } from "../common/Logger"; const {property, ccclass } = _decorator; /** * RanksComp —— 排行榜视图组件 * * 通过 MissionHomeComp 页面切换显示。 * 展示 Top3 + 通用列表 + 我的排名。 */ @ccclass('RanksComp') @ecs.register('RanksComp', false) export class RanksComp extends CCComp { /** 第 1 名展示节点 */ @property(Node) top1_node=null! /** 第 2 名展示节点 */ @property(Node) top2_node=null! /** 第 3 名展示节点 */ @property(Node) top3_node=null! /** 排名列表容器节点 */ @property(Node) lists_node=null! /** 普通排名项预制体 */ @property(Prefab) list_prefab=null! /** "我的排名"项预制体 */ @property(Prefab) melist_prefab=null! onLoad() { } protected onEnable(): void { } onDestroy() { super.onDestroy(); } /** 关闭排行榜页面 */ closeRanks(){ this.node.active = false } /** ECS 组件移除时销毁节点 */ reset() { this.node.destroy(); } }