Files
pixelheros/assets/script/game/map/TopComp.ts
walkpan e880613f8f docs: 为游戏地图模块添加详细的代码注释
为游戏地图模块的脚本文件添加全面的注释,说明每个组件的职责、关键设计、依赖关系和使用方式。注释覆盖了英雄信息面板、技能卡槽位管理器、排行榜弹窗、卡牌控制器、背景滚动组件等核心功能模块,提高了代码的可读性和维护性。

同时修复了英雄预制体的激活状态和技能效果预制体的尺寸参数。
2026-04-07 19:00:30 +08:00

67 lines
1.9 KiB
TypeScript

/**
* @file TopComp.ts
* @description 顶部 UI 栏组件
*
* 职责:
* 1. 监听 GOLD_UPDATE 事件,当金币数量变化时播放数字弹跳动画。
* 2. 该组件挂载在顶部 HUD 节点上,管理金币图标和数值的视觉反馈。
*
* 关键设计:
* - 使用 tween 对金币数字节点执行 scale 弹跳动画(放大 → 回缩),
* 提供视觉提示告知玩家金币变化。
*
* 依赖:
* - GameEvent.GOLD_UPDATE —— 全局金币更新事件
* - oops.message —— 全局事件总线
*/
import { _decorator, Component, Label, Node, tween, v3 } from 'cc';
import { GameEvent } from '../common/config/GameEvent';
import { smc } from '../common/SingletonModuleComp';
import { BoxSet, NumberFormatter } from '../common/config/GameSet';
import { oops } from 'db://oops-framework/core/Oops';
const { ccclass, property } = _decorator;
/**
* topComp —— 顶部 UI 栏
*
* 监听金币变化事件,对金币数值标签播放弹跳反馈动画。
*/
@ccclass('topComp')
export class topComp extends Component {
/** 注册金币更新事件监听 */
protected onLoad(): void {
oops.message.on(GameEvent.GOLD_UPDATE,this.onGoldUpdate,this);
}
start() {
}
/**
* 金币更新事件回调:
* 对 bar/gold/num 节点播放 scale 弹跳动画,
* 先放大到 1.2 再回缩到 1.0。
*
* @param event 事件名
* @param data 事件数据(当前未使用)
*/
onGoldUpdate(event:string,data:any){
tween(this.node.getChildByName("bar").getChildByName("gold").getChildByName("num").getComponent(Label).node)
.to(0.1,{scale:v3(1.2,1.2,1)})
.to(0.1,{scale:v3(1,1,1)})
.start()
}
/** 销毁时移除事件监听 */
onDestroy(){
oops.message.off(GameEvent.GOLD_UPDATE,this.onGoldUpdate,this);
}
update(deltaTime: number) {
}
}