public bool ExecuteOrderAndAlert(Order Order)
        {
            var r = Match.ExecuteOrder(Order);

            if (r != OrderInvalidReason.NONE)
            {
                Alert(r);
            }
            return(r == OrderInvalidReason.NONE);
        }
Esempio n. 2
0
        public void DoTurn(Turn Turn)
        {
            IEnumerable <Order> orders = null;

            if (Turn.TurnInfo.TurnComponent == TurnComponent.DEPLOYMENT)
            {
                orders = DoDeployment();
            }

            if (orders == null)
            {
                return;
            }
            foreach (Order order in orders)
            {
                Console.WriteLine(Match.ExecuteOrder(FileUtils.Print(order)));
            }
            Console.WriteLine(Match.ExecuteOrder(new NextPhaseOrder(Turn.TurnInfo)));
        }
 public void DoTurnAsync(Turn Turn)
 {
     try
     {
         bool didAnything = false;
         while (!(_Orders.Peek() is NextPhaseOrder))
         {
             var o = _Orders.Dequeue();
             _Match.ExecuteOrder(o);
             didAnything |= !(o is ResetOrder);
         }
         if (didAnything)
         {
             Thread.Sleep(WaitMillis(Turn.TurnInfo.TurnComponent));
         }
         if (_Orders.Count < 2)
         {
             Thread.Sleep(2500);
         }
         _Match.ExecuteOrder(_Orders.Dequeue());
     }
     catch (Exception e) { Console.WriteLine(e); }
 }