namespace GeometryTD.CustomComponent { public partial class CombatScheduler { private sealed class CombatFinishFormState : CombatStateBase { public CombatFinishFormState(CombatScheduler scheduler) : base(scheduler) { } public override void OnEnter() { if (Scheduler._settlementContext == null) { Scheduler.EnterFailureFallback("Combat finish form failed. Settlement context is missing."); return; } Scheduler._settlementFlowService.CommitSettlementInventory(Scheduler._settlementContext); Scheduler.EnsureCombatFinishFormUseCaseBound(); Scheduler._settlementFlowService.OpenCombatFinishForm( Scheduler._settlementContext, Scheduler._combatFinishFormUseCase); Scheduler.ChangeState(new CombatWaitingForReturnState(Scheduler)); } } } }