feat(map): 添加任务阶段名称的UI显示
在MissionComp中添加阶段名称映射表,并在阶段切换时更新UI显示。
This commit is contained in:
@@ -100,6 +100,18 @@ export class MissionComp extends CCComp {
|
||||
@property(Node)
|
||||
time_node:Node = null!
|
||||
|
||||
/** 阶段名称映射表(用于 UI 显示) */
|
||||
private static readonly PhaseNameMap: Record<MissionPhase, string> = {
|
||||
[MissionPhase.None]: "未开始",
|
||||
[MissionPhase.PrepareStart]: "准备开始",
|
||||
[MissionPhase.Prepare]: "准备阶段",
|
||||
[MissionPhase.PrepareEnd]: "准备结束",
|
||||
[MissionPhase.BattleStart]: "战斗开始",
|
||||
[MissionPhase.Battle]: "战斗中",
|
||||
[MissionPhase.BattleEnd]: "战斗结束",
|
||||
[MissionPhase.Settle]: "结算阶段"
|
||||
};
|
||||
|
||||
// ======================== 运行时状态 ========================
|
||||
|
||||
/** 战斗倒计时(秒) */
|
||||
@@ -279,6 +291,17 @@ export class MissionComp extends CCComp {
|
||||
const oldPhase = this.currentPhase;
|
||||
this.currentPhase = targetPhase;
|
||||
|
||||
// 更新阶段显示 UI
|
||||
if (this.time_node && this.time_node.isValid) {
|
||||
const phaseNode = this.time_node.getChildByPath("Phase/Label");
|
||||
if (phaseNode) {
|
||||
const label = phaseNode.getComponent(Label);
|
||||
if (label) {
|
||||
label.string = MissionComp.PhaseNameMap[targetPhase] || "未知";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 重置状态机的计时器
|
||||
this.PhaseTime.reset();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user