35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
using UnityGameFramework.Runtime;
|
|
|
|
namespace GeometryTD.CustomComponent
|
|
{
|
|
public partial class CombatScheduler
|
|
{
|
|
private sealed class CombatFailedState : CombatStateBase
|
|
{
|
|
private readonly string _errorMessage;
|
|
|
|
public CombatFailedState(CombatScheduler scheduler, string errorMessage) : base(scheduler)
|
|
{
|
|
_errorMessage = errorMessage;
|
|
}
|
|
|
|
public override void OnEnter()
|
|
{
|
|
Log.Error(
|
|
"CombatScheduler failed. LevelId={0}, {1}",
|
|
Scheduler._currentLevel != null ? Scheduler._currentLevel.Id : 0,
|
|
_errorMessage);
|
|
Scheduler._enemyManager.EndPhase();
|
|
Scheduler.CloseCombatFinishForm();
|
|
Scheduler.CloseRewardSelectForm();
|
|
Scheduler.OpenCombatFailureDialog(_errorMessage);
|
|
}
|
|
|
|
public override void OnExit()
|
|
{
|
|
Scheduler.CloseDialogForm();
|
|
}
|
|
}
|
|
}
|
|
}
|