Files
Cielonos/Assets/Scripts/MainGame/GameRun/RunManager/RunManager_PhaseSubmodule.cs
SoulliesOfficial 39b43680a9 爆更
2026-07-18 03:16:20 -04:00

40 lines
1.2 KiB
C#

namespace Cielonos.MainGame
{
public partial class RunManager
{
/// <summary>
/// RunPhase 的唯一切换入口。
/// 后续如果要加入阶段进入/退出钩子,应优先集中到这里,而不是散落在各个调用方。
/// </summary>
public class RunPhaseSubmodule : SubmoduleBase<RunManager>
{
public RunPhaseSubmodule(RunManager owner) : base(owner)
{
}
public void TransitionToPhase(RunPhase newPhase)
{
if (owner.currentPhase == newPhase) return;
owner.currentPhase = newPhase;
owner.RaisePhaseChanged(newPhase);
}
public bool IsPhaseAllowingNodeSelection()
{
switch (owner.currentPhase)
{
case RunPhase.MapSelection:
case RunPhase.InShop:
case RunPhase.InRest:
case RunPhase.InMechanical:
case RunPhase.InEvent:
return true;
default:
return false;
}
}
}
}
}