namespace GeometryTD.CustomComponent { internal sealed class CombatFinishFormState : CombatStateBase { public CombatFinishFormState(CombatSchedulerRuntime runtime, CombatSchedulerCoordinator coordinator) : base(runtime, coordinator) { } public override void OnEnter() { if (Runtime.SettlementContext == null) { Coordinator.EnterFailureFallback("Combat finish form failed. Settlement context is missing."); return; } Coordinator.EnsureCombatFinishFormUseCaseBound(); Runtime.CombatSettlementService.OpenCombatFinishForm( Runtime.SettlementContext, Runtime.CombatFinishFormUseCase); Coordinator.ChangeState(new CombatWaitingForReturnState(Runtime, Coordinator)); } } }