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