refactor(ui): 调整UI页面管理方式,改为节点显隐控制
1. 注释并禁用了Ranks、Heros、Talents三个UIID的全局弹窗配置 2. 将三个页面改为通过MissionHomeComp控制节点显隐切换 3. 移除了原有的gui.open/remove弹窗调用逻辑,改为设置active状态 4. 调整了组件生命周期,改用onEnable替代onAdded处理显示逻辑 5. 更新了对应组件的注释和文档说明
This commit is contained in:
@@ -1,22 +1,21 @@
|
||||
/**
|
||||
* @file TalentsComp.ts
|
||||
* @description 战斗结算弹窗组件(UI 视图层)
|
||||
* @description 天赋系统页面组件(UI 视图层)
|
||||
*
|
||||
* 职责:
|
||||
* 1. 在战斗结束时弹出,展示结算信息(得分、奖励)。
|
||||
* 2. 根据传入参数判断是否可复活,切换"下一步"或"复活"按钮。
|
||||
* 3. 计算单局总分并存储到 smc.vmdata.scores.score。
|
||||
* 4. 提供"重新开始"和"退出"两个操作入口。
|
||||
* 1. 展示玩家等级、当前经验、进度条、金币。
|
||||
* 2. 展示天赋列表及每个天赋的当前等级。
|
||||
* 3. 处理天赋升级点击事件,扣除金币并保存。
|
||||
* 4. 处理重置天赋(看广告)功能。
|
||||
*
|
||||
* 关键设计:
|
||||
* - onAdded(args) 接收战斗结果参数(Talents / rewards / game_data / can_revive)。
|
||||
* - calculateTotalScore() 根据 ScoreWeights 配置加权计算各项得分。
|
||||
* - restart() 和 Talents_end() 通过分发 MissionEnd / MissionStart 事件驱动游戏状态切换。
|
||||
* - 通过 MissionHomeComp 页面切换显示,节点 active 控制显隐。
|
||||
* - onAdded(args) 接收参数时刷新界面。
|
||||
*
|
||||
* 依赖:
|
||||
* - smc.vmdata.scores —— 全局战斗统计数据
|
||||
* - ScoreWeights(ScoreSet)—— 得分权重配置
|
||||
* - GameEvent.MissionEnd / MissionStart —— 游戏生命周期事件
|
||||
* - MissionHomeComp —— 通过节点 active 显隐控制页面切换
|
||||
* - smc.collection —— 玩家数据
|
||||
* - TalentConfig(TalentSet)—— 天赋配置
|
||||
*/
|
||||
import { _decorator, Node, Label, Button, ProgressBar, instantiate, Prefab } from "cc";
|
||||
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
|
||||
@@ -78,7 +77,6 @@ export class TalentsComp extends CCComp {
|
||||
private readonly MAX_PLAYER_LEVEL = 30;
|
||||
|
||||
protected onLoad(): void {
|
||||
// 绑定按钮事件
|
||||
if (this.btn_reset && this.btn_reset.node) {
|
||||
this.btn_reset.node.on(Button.EventType.CLICK, this.onResetClicked, this);
|
||||
}
|
||||
@@ -87,8 +85,7 @@ export class TalentsComp extends CCComp {
|
||||
}
|
||||
}
|
||||
|
||||
onAdded(args: any) {
|
||||
// 直接刷新界面,因为图集已经在游戏启动时被 smc 预加载并缓存
|
||||
protected onEnable(): void {
|
||||
this.refreshUI();
|
||||
}
|
||||
|
||||
@@ -250,7 +247,7 @@ export class TalentsComp extends CCComp {
|
||||
|
||||
/** 点击返回按钮 */
|
||||
private onCloseClicked() {
|
||||
oops.gui.removeByNode(this.node); //
|
||||
this.node.active = false
|
||||
}
|
||||
|
||||
protected onDestroy(): void {
|
||||
|
||||
Reference in New Issue
Block a user