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