geometry-tower-defense/Assets/GameMain/Scripts/CustomComponent/CombatNode/CombatStates/CombatSettlementState.cs

30 lines
972 B
C#

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));
}
}
}
}