namespace GeometryTD.CustomComponent { public partial class CombatScheduler { private sealed class CombatSettlementState : CombatStateBase { private readonly string _reason; private readonly bool _isVictory; public CombatSettlementState(CombatScheduler scheduler, string reason, bool isVictory) : base(scheduler) { _reason = reason; _isVictory = isVictory; } public override void OnEnter() { Scheduler._settlementContext = Scheduler.BuildSettlementContext(_reason, _isVictory); if (Scheduler._settlementContext.ShouldOpenRewardSelection) { Scheduler.ChangeState(new CombatRewardSelectionState(Scheduler)); return; } Scheduler.ChangeState(new CombatFinishFormState(Scheduler)); } } } }