private void UpdateNavyTable() { App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; MilitaryForm militaryForm = player.GetMilitaryForm(); Text frigateAttack = navyTable.Rows[1].Cells[1].GetComponentInChildren <Text>(); Debug.Log("frigate attack " + militaryForm.frigate.Attack.ToString()); frigateAttack.text = militaryForm.frigate.Attack.ToString(); Text ironcladAttack = navyTable.Rows[1].Cells[2].GetComponentInChildren <Text>(); ironcladAttack.text = militaryForm.ironclad.Attack.ToString(); Text dreadnoughtAttack = navyTable.Rows[1].Cells[3].GetComponentInChildren <Text>(); dreadnoughtAttack.text = militaryForm.dreadnought.Attack.ToString(); Text frigateMaxStrength = navyTable.Rows[2].Cells[1].GetComponentInChildren <Text>(); frigateMaxStrength.text = militaryForm.frigate.GetStrength().ToString(); Text ironcladMaxStrength = navyTable.Rows[2].Cells[2].GetComponentInChildren <Text>(); ironcladMaxStrength.text = militaryForm.ironclad.GetStrength().ToString(); Text dreadnoughtMaxStrength = navyTable.Rows[2].Cells[3].GetComponentInChildren <Text>(); dreadnoughtMaxStrength.text = militaryForm.dreadnought.GetStrength().ToString(); Text frigateMan = navyTable.Rows[3].Cells[1].GetComponentInChildren <Text>(); frigateMan.text = militaryForm.frigate.Maneuver.ToString(); Text ironcladMan = navyTable.Rows[3].Cells[2].GetComponentInChildren <Text>(); ironcladMan.text = militaryForm.ironclad.Maneuver.ToString(); Text dreadnoughtMan = navyTable.Rows[3].Cells[3].GetComponentInChildren <Text>(); dreadnoughtMan.text = militaryForm.dreadnought.Maneuver.ToString(); Text frigateAmmo = navyTable.Rows[4].Cells[1].GetComponentInChildren <Text>(); frigateAmmo.text = militaryForm.frigate.AmmoUse.ToString(); Text ironcladAmmo = navyTable.Rows[4].Cells[2].GetComponentInChildren <Text>(); ironcladAmmo.text = militaryForm.ironclad.AmmoUse.ToString(); Text dreadnoughtAmmo = navyTable.Rows[4].Cells[3].GetComponentInChildren <Text>(); dreadnoughtAmmo.text = militaryForm.dreadnought.AmmoUse.ToString(); Text frigateOil = navyTable.Rows[5].Cells[1].GetComponentInChildren <Text>(); frigateOil.text = militaryForm.frigate.OilUse.ToString(); Text ironcladOil = navyTable.Rows[5].Cells[2].GetComponentInChildren <Text>(); ironcladOil.text = militaryForm.ironclad.OilUse.ToString(); Text dreadnoughtOil = navyTable.Rows[5].Cells[3].GetComponentInChildren <Text>(); dreadnoughtOil.text = militaryForm.dreadnought.OilUse.ToString(); Text frigateCap = navyTable.Rows[6].Cells[1].GetComponentInChildren <Text>(); frigateCap.text = militaryForm.frigate.Capacity.ToString(); Text ironcladCap = navyTable.Rows[6].Cells[2].GetComponentInChildren <Text>(); ironcladCap.text = militaryForm.ironclad.Capacity.ToString(); Text dreadnoughtCap = navyTable.Rows[6].Cells[3].GetComponentInChildren <Text>(); dreadnoughtCap.text = militaryForm.dreadnought.Capacity.ToString(); Text frigateMov = navyTable.Rows[7].Cells[1].GetComponentInChildren <Text>(); frigateMov.text = militaryForm.frigate.Movement.ToString(); Text ironcladMov = navyTable.Rows[7].Cells[2].GetComponentInChildren <Text>(); ironcladMov.text = militaryForm.ironclad.Movement.ToString(); Text dreadnoughtMov = navyTable.Rows[7].Cells[3].GetComponentInChildren <Text>(); dreadnoughtMov.text = militaryForm.dreadnought.Movement.ToString(); Text NumFrig = navyTable.Rows[9].Cells[1].GetComponentInChildren <Text>(); Text NumIC = navyTable.Rows[9].Cells[2].GetComponentInChildren <Text>(); Text NumDN = navyTable.Rows[9].Cells[3].GetComponentInChildren <Text>(); float frigCount = 0; float ICCount = 0; float DNCount = 0; for (int i = 0; i < player.GetFleets().Count; i++) { frigCount += player.GetFleet(i).GetFrigate(); ICCount += player.GetFleet(i).GetIronClad(); DNCount += player.GetFleet(i).GetDreadnought(); } NumFrig.text = frigCount.ToString(); NumIC.text = ICCount.ToString(); NumDN.text = DNCount.ToString(); Text recFrig = navyTable.Rows[10].Cells[1].GetComponentInChildren <Text>(); Text recIC = navyTable.Rows[10].Cells[2].GetComponentInChildren <Text>(); Text recDN = navyTable.Rows[10].Cells[3].GetComponentInChildren <Text>(); recFrig.text = player.getNavyProducing(MyEnum.NavyUnits.frigates).ToString(); recIC.text = player.getNavyProducing(MyEnum.NavyUnits.ironclad).ToString(); recDN.text = player.getNavyProducing(MyEnum.NavyUnits.dreadnought).ToString(); Button recruitFrigateButton = navyTable.Rows[11].Cells[1].GetComponentInChildren <Button>(); if (PlayerCalculator.canBuildFrigate(player)) { recruitFrigateButton.interactable = true; } else { recruitFrigateButton.interactable = false; } Button recruitIroncladButton = navyTable.Rows[11].Cells[2].GetComponentInChildren <Button>(); if (PlayerCalculator.canBuildIronclad(player)) { recruitIroncladButton.interactable = true; } else { recruitIroncladButton.interactable = false; } Button recruitDreadnoughtButton = navyTable.Rows[11].Cells[3].GetComponentInChildren <Button>(); if (PlayerCalculator.canBuildDreadnought(player)) { recruitDreadnoughtButton.interactable = true; } else { upgradeShipyard.interactable = false; } TextMeshProUGUI _shipyardLevel = shipyardLevel.GetComponent <TextMeshProUGUI>(); _shipyardLevel.SetText("Shipyard Level: " + player.GetShipyardLevel().ToString()); if (PlayerCalculator.canUpgradeShipyard(player) == true) { upgradeShipyard.interactable = true; } else { upgradeShipyard.interactable = false; } }
public void UpdateDevelopmentPriorities(Nation player) { AdminAI admin = player.getAI().GetAdmin(); int turn = State.turn; int numFactories = PlayerCalculator.getNumberOfFactories(player); // int d = 5 - this.metaProgressPriorities[MyEnum.progressPriorities.investment]; int possFact = admin.getPotentialFactoryUpgradeOptions(player).Count; if (possFact > 0) { adjustDevelopmentPriorityInLightOfPotential(player); } else { this.developmentPriorities[MyEnum.developmentPriorities.buildFactory]--; } if (numFactories / turn > 5 && possFact > 0) { this.developmentPriorities[MyEnum.developmentPriorities.buildFactory]++; this.metaPriorities[MyEnum.metaPriorities.development]++; } int provDevOpts = admin.getProviceDevelopmentOptions(player).Count; if (provDevOpts > 0) { adjustDevelopmentPriorityInLightOfPotential(player); this.developmentPriorities[MyEnum.developmentPriorities.developProvince]++; this.metaPriorities[MyEnum.metaPriorities.development]++; if (this.topPriority == MyEnum.staticPriorities.industry) { this.developmentPriorities[MyEnum.developmentPriorities.developProvince]++; } else if (this.secondPriory == MyEnum.staticPriorities.industry) { this.developmentPriorities[MyEnum.developmentPriorities.developProvince]++; } } else { this.developmentPriorities[MyEnum.developmentPriorities.developProvince]--; } if (PlayerCalculator.canUpgradeFort(player)) { { this.developmentPriorities[MyEnum.developmentPriorities.fortification]++; this.metaPriorities[MyEnum.metaPriorities.development]++; } } else { this.developmentPriorities[MyEnum.developmentPriorities.fortification]--; } if (player.GetTechnologies().Contains("steam_locomotive")) { adjustDevelopmentPriorityInLightOfPotential(player); int numberRailroads = PlayerCalculator.getNumberProvRailRoads(player); if (numberRailroads < (player.getProvinces().Count + player.getColonies().Count)) { this.metaPriorities[MyEnum.metaPriorities.development]++; } { this.developmentPriorities[MyEnum.developmentPriorities.railroad]++; if (this.topPriority == MyEnum.staticPriorities.industry) { this.developmentPriorities[MyEnum.developmentPriorities.railroad]++; } else if (this.secondPriory == MyEnum.staticPriorities.industry) { this.developmentPriorities[MyEnum.developmentPriorities.railroad]++; } } } if (PlayerCalculator.canUpgradeShipyard(player)) { this.developmentPriorities[MyEnum.developmentPriorities.shipyard]++; if (this.topPriority == MyEnum.staticPriorities.colonies) { this.developmentPriorities[MyEnum.developmentPriorities.shipyard]++; } } if ((PlayerCalculator.calculateTotalResourceProduction(player) - (player.getProvinces().Count + player.getColonies().Count)) > player.industry.getNumberOfTrains()) { this.developmentPriorities[MyEnum.developmentPriorities.trains]++; if (this.topPriority == MyEnum.staticPriorities.industry) { this.developmentPriorities[MyEnum.developmentPriorities.trains]++; } else if (this.secondPriory == MyEnum.staticPriorities.industry) { this.developmentPriorities[MyEnum.developmentPriorities.trains]++; } } if (player.numberOfResourcesAndGoods() + PlayerCalculator.calculateTotalResourceProduction(player) > player.GetCurrentWarehouseCapacity()) { this.developmentPriorities[MyEnum.developmentPriorities.warehouse] += 3; } else { this.developmentPriorities[MyEnum.developmentPriorities.warehouse]--; } }
private void UpdateNavyTable() { App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; SeaForces seaForces = player.seaForces; Text frigateAttack = navyTable.Rows[1].Cells[1].GetComponentInChildren <Text>(); Debug.Log("frigate attack " + seaForces.frigate.Attack.ToString()); frigateAttack.text = seaForces.frigate.Attack.ToString(); Text ironcladAttack = navyTable.Rows[1].Cells[2].GetComponentInChildren <Text>(); ironcladAttack.text = seaForces.ironclad.Attack.ToString(); Text dreadnoughtAttack = navyTable.Rows[1].Cells[3].GetComponentInChildren <Text>(); dreadnoughtAttack.text = seaForces.dreadnought.Attack.ToString(); Text frigateMaxStrength = navyTable.Rows[2].Cells[1].GetComponentInChildren <Text>(); frigateMaxStrength.text = seaForces.frigate.HitPoints.ToString(); Text ironcladMaxStrength = navyTable.Rows[2].Cells[2].GetComponentInChildren <Text>(); ironcladMaxStrength.text = seaForces.ironclad.HitPoints.ToString(); Text dreadnoughtMaxStrength = navyTable.Rows[2].Cells[3].GetComponentInChildren <Text>(); dreadnoughtMaxStrength.text = seaForces.dreadnought.HitPoints.ToString(); Text frigateMan = navyTable.Rows[3].Cells[1].GetComponentInChildren <Text>(); frigateMan.text = seaForces.frigate.Capacity.ToString(); Text ironcladMan = navyTable.Rows[3].Cells[2].GetComponentInChildren <Text>(); ironcladMan.text = seaForces.ironclad.Capacity.ToString(); Text dreadnoughtMan = navyTable.Rows[3].Cells[3].GetComponentInChildren <Text>(); dreadnoughtMan.text = seaForces.dreadnought.Capacity.ToString(); Text frigateAmmo = navyTable.Rows[4].Cells[1].GetComponentInChildren <Text>(); frigateAmmo.text = seaForces.frigate.Colonial.ToString(); Text ironcladAmmo = navyTable.Rows[4].Cells[2].GetComponentInChildren <Text>(); ironcladAmmo.text = seaForces.ironclad.Colonial.ToString(); Text dreadnoughtAmmo = navyTable.Rows[4].Cells[3].GetComponentInChildren <Text>(); dreadnoughtAmmo.text = seaForces.dreadnought.Colonial.ToString(); Text NumFrig = navyTable.Rows[6].Cells[1].GetComponentInChildren <Text>(); Text NumIC = navyTable.Rows[6].Cells[2].GetComponentInChildren <Text>(); Text NumDN = navyTable.Rows[6].Cells[3].GetComponentInChildren <Text>(); NumFrig.text = player.seaForces.frigate.getNumber().ToString(); NumIC.text = player.seaForces.ironclad.getNumber().ToString(); NumDN.text = player.seaForces.dreadnought.getNumber().ToString(); Text recFrig = navyTable.Rows[7].Cells[1].GetComponentInChildren <Text>(); Text recIC = navyTable.Rows[7].Cells[2].GetComponentInChildren <Text>(); Text recDN = navyTable.Rows[7].Cells[3].GetComponentInChildren <Text>(); recFrig.text = player.getNavyProducing(MyEnum.NavyUnits.frigates).ToString(); recIC.text = player.getNavyProducing(MyEnum.NavyUnits.ironclad).ToString(); recDN.text = player.getNavyProducing(MyEnum.NavyUnits.dreadnought).ToString(); shipyardLevelValue.SetText(player.GetShipyardLevel().ToString()); if (PlayerCalculator.canUpgradeShipyard(player) == true) { upgradeShipyardButton.interactable = true; } else { upgradeShipyardButton.interactable = false; } if (PlayerCalculator.canBuildFrigate(player) && State.GerEra() != MyEnum.Era.Late) { recruitFrigateButton.interactable = true; } else { recruitFrigateButton.interactable = false; } if (PlayerCalculator.canBuildIronclad(player)) { recruitIroncladButton.interactable = true; } else { recruitIroncladButton.interactable = false; } if (PlayerCalculator.canBuildDreadnought(player)) { recruitBattleshipButton.interactable = true; } else { recruitBattleshipButton.interactable = false; } if (player.GetShipyardLevel() == 1) { shipyardUpgradeCostOne.SetActive(true); shipyardUpgradeCostTwo.SetActive(false); } else if (player.GetShipyardLevel() == 2) { shipyardUpgradeCostOne.SetActive(false); shipyardUpgradeCostTwo.SetActive(true); } else { shipyardUpgradeCostOne.SetActive(false); shipyardUpgradeCostTwo.SetActive(false); } }