public void GetPurchaseCost(PurchasesEnum purchaseEnum, out int food, out int wood, out int gold, out int population) { var purchase = playerState.playerPurchases.Get(purchaseEnum); food = purchase.food; wood = purchase.wood; gold = purchase.gold; population = purchase.population; }
private void AddFirst(PurchasesEnum purchasesEnum) { if ((int)purchasesEnum < 8) { AddFirst(aiPlayer.PlaceBuilding); } int food, wood, gold, population; aiPlayer.GetPurchaseCost(purchasesEnum, out food, out wood, out gold, out population); objectives.AddFirst(new Objective(food, wood, gold, population, () => aiPlayer.DoPurchase(purchasesEnum))); }
public bool BuildBuilding(PurchasesEnum type) { var purchase = playerState.playerPurchases.Get(type); return(purchase.IsActive(null) && purchase.Do(null)); }
public bool DoPurchase(PurchasesEnum purchasesEnum) { Selectable selectable; switch (purchasesEnum) { case PurchasesEnum.Barracks: case PurchasesEnum.House: case PurchasesEnum.Infirmary: case PurchasesEnum.Library: case PurchasesEnum.MainBuilding: case PurchasesEnum.Mill: case PurchasesEnum.Sawmill: case PurchasesEnum.Bank: return(BuildBuilding(purchasesEnum)); case PurchasesEnum.Unit: case PurchasesEnum.StoneAge: case PurchasesEnum.IronAge: case PurchasesEnum.DiamondAge: selectable = RandomElement(SenseOwnBuildings().Where(b => b is MainBuilding)); break; case PurchasesEnum.Books1: case PurchasesEnum.Books2: case PurchasesEnum.Books3: case PurchasesEnum.Books4: case PurchasesEnum.Books5: case PurchasesEnum.BuildingBooks: case PurchasesEnum.MedicineBooks1: case PurchasesEnum.MedicineBooks2: case PurchasesEnum.Intelligence: case PurchasesEnum.Building: case PurchasesEnum.Healing: selectable = RandomElement(SenseOwnBuildings().Where(b => b is Library)); break; case PurchasesEnum.Gear1: case PurchasesEnum.Gear2: case PurchasesEnum.Gear3: case PurchasesEnum.Gear4: case PurchasesEnum.Gear5: selectable = RandomElement(SenseOwnBuildings().Where(b => b is Barracks)); break; case PurchasesEnum.Flour: case PurchasesEnum.Bread: selectable = RandomElement(SenseOwnBuildings().Where(b => b is Mill)); break; default: selectable = null; break; } if (selectable == null) { return(false); } Purchase purchase = playerState.playerPurchases.Get(purchasesEnum); if (!purchase.IsActive(selectable)) { return(false); } return(purchase.Do(selectable)); }
/// <summary> /// Adds purchase of given type to the list. /// </summary> public void AddPurchase(PurchasesEnum purchasesEnum) { AddPurchase(PlayerState.Get(playerId).playerPurchases.Get(purchasesEnum)); }
public Purchase Get(PurchasesEnum purchasesEnum) => purchases[purchasesEnum];