Files
2026-07-09 21:33:33 +02:00

40 lines
1.1 KiB
C#

using VOID.Generic.Objects.Unit.Actions.Exceptions;
namespace VOID.Generic.Objects.Unit.Actions
{
public class EndTurnAction : AbstractAction
{
private readonly UnitObject _unit;
public EndTurnAction(UnitObject unit)
{
_unit = unit;
}
public override bool IsInRange() => true;
public override bool CanSkipQueue() => true;
protected override void OnEndIt() { }
protected override void OnCancelIt() { }
public override void CanDoIt()
{
Check(
state == ActionState.Ready,
UnitActionErrorType.ActionStateIsNotReady);
Check(
_unit.basicState.turnManager,
UnitActionErrorType.UnitNotInTurnManager);
Check(
_unit.unitState.isSelfTurn,
UnitActionErrorType.UnitSelfTurnNotActive);
}
protected override void OnDoIt()
{
_unit.unitActionQueue.StopQueue();
_unit.basicState.turnManager.NextTurn();
}
}
}