为游戏地图模块的脚本文件添加全面的注释,说明每个组件的职责、关键设计、依赖关系和使用方式。注释覆盖了英雄信息面板、技能卡槽位管理器、排行榜弹窗、卡牌控制器、背景滚动组件等核心功能模块,提高了代码的可读性和维护性。 同时修复了英雄预制体的激活状态和技能效果预制体的尺寸参数。
83 lines
2.4 KiB
TypeScript
83 lines
2.4 KiB
TypeScript
/**
|
||
* @file RanksComp.ts
|
||
* @description 排行榜弹窗组件(UI 视图层)
|
||
*
|
||
* 职责:
|
||
* 1. 展示排行榜界面,包含 Top1~Top3 特殊位和通用列表区域。
|
||
* 2. 提供关闭排行榜弹窗的按钮回调。
|
||
*
|
||
* 关键设计:
|
||
* - top1_node / top2_node / top3_node 用于展示前三名玩家的特殊样式。
|
||
* - lists_node 为滚动列表的容器节点。
|
||
* - list_prefab / melist_prefab 分别为普通排名项和"我的排名"项的预制体。
|
||
* - 当前 onLoad / onAdded 未实现具体逻辑,预留后期接入排行数据。
|
||
*
|
||
* 依赖:
|
||
* - UIID.Ranks —— 在 oops.gui 系统中注册的弹窗 ID
|
||
*/
|
||
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 { oops } from "db://oops-framework/core/Oops";
|
||
import { UIID } from "../common/config/GameUIConfig";
|
||
import { mLogger } from "../common/Logger";
|
||
|
||
const {property, ccclass } = _decorator;
|
||
|
||
/**
|
||
* RanksComp —— 排行榜视图组件
|
||
*
|
||
* 通过 oops.gui.open(UIID.Ranks) 打开。
|
||
* 展示 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() {
|
||
|
||
}
|
||
|
||
/** 预留:弹窗打开时接收参数 */
|
||
onAdded(args: any) {
|
||
|
||
}
|
||
|
||
onDestroy() {
|
||
|
||
}
|
||
|
||
/** 关闭排行榜弹窗 */
|
||
closeRanks(){
|
||
oops.gui.remove(UIID.Ranks)
|
||
}
|
||
|
||
/** ECS 组件移除时销毁节点 */
|
||
reset() {
|
||
|
||
this.node.destroy();
|
||
}
|
||
}
|