public void ImproveCityOfType(CityImprovementType improvementType) { if (cityImprovements [improvementType] < 5) { cityImprovements [improvementType]++; } }
public bool canUpgrade(CityImprovementType improvementType) { int numCities = getOwnedUnitsOfType(UnitType.City).Count; bool canUpgrade = false; if (numCities > 0) { if (hasAvailableAssets(cityImprovements.nextImprovementCost(improvementType))) { canUpgrade = true; } } return(canUpgrade); }
public AssetTuple nextImprovementCost(CityImprovementType improvementType) { CommodityTuple commodityCost = new CommodityTuple(); if (cityImprovements [improvementType] < 5) { if (playedCraneThisTurn) { commodityCost.addCommodityWithType(upgradeCommodityChart [improvementType], cityImprovements [improvementType]); } else { commodityCost.addCommodityWithType(upgradeCommodityChart [improvementType], cityImprovements [improvementType] + 1); } } return(new AssetTuple(new ResourceTuple(), commodityCost)); }
public void upgradeScience() { CityImprovementType science = CityImprovementType.Science; if (CatanManager.instance.currentPlayerTurn == PhotonNetwork.player.ID - 1 && CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].canUpgrade(science)) { AssetTuple upgradeCost = CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].cityImprovements.nextImprovementCost(science); if (CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].playedCrane) { upgradeCost.SetValueAtIndex(5, upgradeCost.GetValueAtIndex(5) - 1); CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].playedCrane = false; } EventTransferManager.instance.OnTradeWithBank(CatanManager.instance.currentPlayerTurn, false, upgradeCost); EventTransferManager.instance.OnUpgradeCity(CatanManager.instance.currentPlayerTurn, (int)science); int scienceLevel = CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].cityImprovements.cityImprovements [CityImprovementType.Science]; int politicsLevel = CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].cityImprovements.cityImprovements [CityImprovementType.Politics]; int tradeLevel = CatanManager.instance.players [CatanManager.instance.currentPlayerTurn].cityImprovements.cityImprovements [CityImprovementType.Trade]; openPanel(tradeLevel, politicsLevel, scienceLevel); } }
public bool canStealMetropolis(Player other, CityImprovementType metropolisType) { Debug.Log("Steal comparison. This is : " + this.playerNumber + " and other is : " + other.playerNumber); return(this.cityImprovements.cityImprovements [metropolisType] > other.cityImprovements.cityImprovements [metropolisType]); }
public bool canBuildMetropolis(CityImprovementType metropolisType) { return(cityImprovements.cityImprovements [metropolisType] >= 4); }