namespace GeometryTD.CustomComponent { internal sealed class CombatFinishFormState : CombatStateBase { public CombatFinishFormState(CombatSchedulerRuntimeContext context, CombatSchedulerFlowCoordinator flow) : base(context, flow) { } public override void OnEnter() { if (Context.SettlementContext == null) { Flow.EnterFailureFallback("Combat finish form failed. Settlement context is missing."); return; } Context.SettlementFlowService.CommitSettlementInventory(Context.SettlementContext); Flow.EnsureCombatFinishFormUseCaseBound(); Context.SettlementFlowService.OpenCombatFinishForm( Context.SettlementContext, Context.CombatFinishFormUseCase); Flow.ChangeState(new CombatWaitingForReturnState(Context, Flow)); } } }