35 lines
1012 B
C#
35 lines
1012 B
C#
using UnityGameFramework.Runtime;
|
|
|
|
namespace GeometryTD.CustomComponent
|
|
{
|
|
internal sealed class CombatFailedState : CombatStateBase
|
|
{
|
|
private readonly string _errorMessage;
|
|
|
|
public CombatFailedState(
|
|
CombatSchedulerRuntime runtime,
|
|
CombatSchedulerCoordinator coordinator,
|
|
string errorMessage) : base(runtime, coordinator)
|
|
{
|
|
_errorMessage = errorMessage;
|
|
}
|
|
|
|
public override void OnEnter()
|
|
{
|
|
Log.Error(
|
|
"CombatScheduler failed. LevelId={0}, {1}",
|
|
Runtime.CurrentLevel != null ? Runtime.CurrentLevel.Id : 0,
|
|
_errorMessage);
|
|
Runtime.EnemyManager.EndPhase();
|
|
Coordinator.CloseCombatFinishForm();
|
|
Coordinator.CloseRewardSelectForm();
|
|
Coordinator.OpenCombatFailureDialog(_errorMessage);
|
|
}
|
|
|
|
public override void OnExit()
|
|
{
|
|
Coordinator.CloseDialogForm();
|
|
}
|
|
}
|
|
}
|