public BattleUnitsStack NormalMove() { Clear(); if (cOrder.Count > 0) { BattleUnitsStack res = cOrder[0]; cOrder.RemoveAt(0); notInWaitOrder--; return(res); } else { Debug.Log(cOrder); Debug.Log("No more BattleUnitsStack"); throw new IndexOutOfRangeException("No more BattleUnitsStack"); } }
public BattleUnitsStack Wait() { Clear(); if (cOrder.Count > 0) { if (!canWait()) { Debug.Log("Wrong move command(can't wait"); return(null); } BattleUnitsStack f = cOrder.First(); cOrder.RemoveAt(0); notInWaitOrder--; cOrder.Insert(notInWaitOrder, f); return(f); } else { throw new IndexOutOfRangeException("No more BattleUnitsStack"); } }