public bool ExecuteOrderAndAlert(Order Order) { var r = Match.ExecuteOrder(Order); if (r != OrderInvalidReason.NONE) { Alert(r); } return(r == OrderInvalidReason.NONE); }
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); } }