public void ThisFillInData(assemblyCsharp.Province province) { this.Name.text = province.getProvName(); string resource = province.getResource().ToString(); Sprite newResourceSprite = Resources.Load("Resource/" + resource, typeof(Sprite)) as Sprite; this.Resource.sprite = newResourceSprite; this.Resource.preserveAspect = true; this.Produces.text = "Produces " + province.getProduction().ToString("0.0") + " " + resource + " /turn"; this.RailroadLevel.text = province.getInfrastructure().ToString(); this.FortLevel.text = province.getFortLevel().ToString(); this.Culture.text = "Culture: " + province.culture; // this.resourceText.text = "Province produces " + resource; // Text text = ResourceTip.GetComponentInChildren<Text>(); // text.text = "Province produces " + Resource; pickProductionPicture(province); State.setCurrentlySelectedProvince(province.getIndex()); App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; updateSelfProvinceButtons(player, province); }
private void distributeStartingResourcesAndGoods(Nation player) { for (int i = 0; i < player.getProvinces().Count; i++) { int index = player.getProvinceIndex(i); assemblyCsharp.Province prov = State.getProvinces()[index]; MyEnum.Resources res = prov.getResource(); float amount = prov.getProduction(); if (res == MyEnum.Resources.gold) { player.receiveGold(amount * 5); } else { player.collectResource(res, amount); } player.addRuralPOP(); player.addRuralPOP(); } player.receiveGold(5); if (player.getType() == MyEnum.NationType.major) { player.collectGoods(MyEnum.Goods.steel, 1); player.collectGoods(MyEnum.Goods.fabric, 1); player.collectGoods(MyEnum.Goods.lumber, 1); player.collectGoods(MyEnum.Goods.arms, 2); player.collectResource(MyEnum.Resources.wheat, 1); player.collectResource(MyEnum.Resources.meat, 0.5f); player.collectResource(MyEnum.Resources.fruit, 0.5f); player.receiveGold(5); } }
public void ThatFillInData(assemblyCsharp.Province province) { this.Name.text = province.getProvName(); string resource = province.getResource().ToString(); Sprite newResourceSprite = Resources.Load("Resource/" + resource, typeof(Sprite)) as Sprite; this.Resource.sprite = newResourceSprite; this.Resource.preserveAspect = true; Debug.Log("You f****r...." + province.getProduction().ToString()); this.Produces.text = "Produces " + province.getProduction().ToString("0.0") + " " + resource + " /turn"; this.RailroadLevel.text = province.getInfrastructure().ToString(); this.FortLevel.text = province.getFortLevel().ToString(); this.Culture.text = "Culture: " + province.culture; // this.resourceText.text = "Province produces " + resource; string nation = province.getOwner().ToString(); Debug.Log("Owner: " + nation); this.DevelopmentLevel.text = province.getDevelopmentLevel().ToString(); this.NationName.text = nation; //text.text = "Province produces " + Resource; this.Flag.sprite = Resources.Load("Flags/" + province.getOwner().ToString(), typeof(Sprite)) as Sprite; pickProductionPicture(province); // Text flagText = FlagTip.GetComponentInChildren<Text>(); // Debug.Log("Flag text: " + flagText.text); // flagText.text = Owner; //flagTip.GetComponent<Text>().text = nation; }
private void updateSelfProvinceButtons(Nation player, assemblyCsharp.Province province) { if (PlayerCalculator.checkUpgradeDevelopment(province, player)) { upgradeDevelopment.interactable = true; } else { upgradeDevelopment.interactable = false; } if (PlayerCalculator.canUpgradeRailRoad(province, player)) { upgradeRailway.interactable = true; } else { upgradeRailway.interactable = false; } if (PlayerCalculator.canUpgradeFort(province, player)) { upgradeFort.interactable = true; } else { upgradeFort.interactable = false; } }
private static void collectResources(Nation player) { for (int i = 0; i < player.getProvinces().Count; i++) { int index = player.getProvinces()[i]; assemblyCsharp.Province prov = State.getProvinces()[index]; float resYield = prov.getProduction(); MyEnum.Resources res = prov.getResource(); Debug.Log("prov res: " + res); if (res != MyEnum.Resources.gold) { player.collectResource(res, resYield); } else { player.receiveGold(resYield * 5); } } for (int i = 0; i < player.getColonies().Count; i++) { int index = player.getColonies()[i]; assemblyCsharp.Province prov = State.getProvinces()[index]; float resYield = prov.getProduction(); MyEnum.Resources res = prov.getResource(); player.collectResource(res, resYield); } }
private void pickProductionPicture(assemblyCsharp.Province province) { MyEnum.Resources res = province.getResource(); if (res == MyEnum.Resources.wheat || res == MyEnum.Resources.fruit || res == MyEnum.Resources.rubber || res == MyEnum.Resources.dyes) { DevelopmentImage.sprite = Resources.Load("Resource/Icons/plow", typeof(Sprite)) as Sprite; } if (res == MyEnum.Resources.oil) { DevelopmentImage.sprite = Resources.Load("Resource/Icons/oil_rig", typeof(Sprite)) as Sprite; } if (res == MyEnum.Resources.iron || res == MyEnum.Resources.coal || res == MyEnum.Resources.gold) { DevelopmentImage.sprite = Resources.Load("Resource/Icons/miningTools", typeof(Sprite)) as Sprite; } if (res == MyEnum.Resources.cotton) { DevelopmentImage.sprite = Resources.Load("Resource/Icons/cottonGinIcon", typeof(Sprite)) as Sprite; } if (res == MyEnum.Resources.meat) { DevelopmentImage.sprite = Resources.Load("Resource/Icons/barbedWire", typeof(Sprite)) as Sprite; } if (res == MyEnum.Resources.wood) { DevelopmentImage.sprite = Resources.Load("Resource/Icons/axe", typeof(Sprite)) as Sprite; } }
private void initalizeArmies(Nation player) { player.GetMilitaryForm().setMaxMorale(1); Army firstArmy = new Army(player.getIndex()); // Debug.Log("Nation Type: " + player.getType() + "________________________"); if (player.getType() == MyEnum.NationType.major) { // Debug.Log("Any Major Nations Here?"); firstArmy.addUnit(MyEnum.ArmyUnits.infantry); firstArmy.addUnit(MyEnum.ArmyUnits.infantry); firstArmy.addUnit(MyEnum.ArmyUnits.cavalry); Fleet firstFleet = new Fleet(player.getIndex()); firstFleet.addUnit(MyEnum.NavyUnits.frigates, 1); player.addFleet(firstFleet); //Still need to place fleet } else { firstArmy.addUnit(MyEnum.ArmyUnits.infantry); } player.addArmy(firstArmy); PlaceArmy armyPlacer = new PlaceArmy(); string capName = player.capital; Debug.Log(player.getNationName()); Debug.Log(capName); assemblyCsharp.Province prov = State.GetProvinceByName(capName); int capIndex = prov.getIndex(); armyPlacer.placeArmyOnMap(capIndex, player, firstArmy.GetIndex()); player.setMilitaryScore(); Debug.Log("Military Score: " + player.getMilitaryScore().ToString()); }
// Use this for initialization void Start() { map = WMSK.instance; map.OnProvinceClick += (int provinceIndex, int regionIndex, int buttonIndex) => Debug.Log("Clicked province " + map.provinces[provinceIndex].name); map.OnClick += (float x, float y, int buttonIndex) => { if (buttonIndex == 1) { return; } Vector2 provincePosition = new Vector2(x, y); if (map.ContainsWater(provincePosition)) { Debug.Log("Yes, water!"); } else { Debug.Log("Land"); } int clickedIndex = map.GetProvinceIndex(provincePosition); assemblyCsharp.Province clickedProvince = provinces[clickedIndex]; int provinceOwner = clickedProvince.getOwnerIndex(); // Debug.Log("Province Culture: " + clickedProvince.getCulture()); Nation owner = nations[provinceOwner]; Debug.Log("Nation name " + owner.getName()); if (map.VGOLastHighlighted == null) { if (SelfProvinceGUI.activeSelf) { SelfProvinceGUI.SetActive(false); } if (OtherProvinceGUI.activeSelf) { OtherProvinceGUI.SetActive(false); } if (owner.IsHuman()) { ThisFillInData(clickedProvince); SelfProvinceGUI.SetActive(true); } else { NationName.text = owner.getName(); ThatFillInData(clickedProvince); OtherProvinceGUI.SetActive(true); } } }; upgradeDevelopment.onClick.AddListener(delegate { UpgradeDevelopment(); }); upgradeRailway.onClick.AddListener(delegate { UpgradeRailway(); }); upgradeFort.onClick.AddListener(delegate { UpgradeFort(); }); }
public void initalizeAIPriorities(Nation player) { TopLevel aiTopLevel = player.getAI().GetTopLevel(); foreach (MyEnum.macroPriorities macro in Enum.GetValues(typeof(MyEnum.macroPriorities))) { aiTopLevel.setMacroPriority(player, macro, 1); } for (int i = 0; i < player.getProvinces().Count; i++) { int pIndex = player.getProvinces()[i]; assemblyCsharp.Province prov = State.getProvinces()[pIndex]; if (prov.getResource() == MyEnum.Resources.coal) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.buildFactory, 0.15f); aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.research, 0.15f); } if (prov.getResource() == MyEnum.Resources.cotton) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.colonies, 0.1f); aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.developProvince, 0.1f); } if (prov.getResource() == MyEnum.Resources.dyes) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.developProvince, 0.1f); } if (prov.getResource() == MyEnum.Resources.gold) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.culture, 0.15f); aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.spheres, 0.15f); } if (prov.getResource() == MyEnum.Resources.iron) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.buildFactory, 0.15f); aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.conquest, 0.15f); } if (prov.getResource() == MyEnum.Resources.oil) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.developProvince, 0.1f); aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.conquest, 0.05f); } if (prov.getResource() == MyEnum.Resources.rubber) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.research, 0.1f); } if (prov.getResource() == MyEnum.Resources.spice) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.culture, 0.1f); } if (prov.getResource() == MyEnum.Resources.wood) { aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.colonies, 0.1f); aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.navy, 0.1f); aiTopLevel.alterMacroPriority(player, MyEnum.macroPriorities.buildFactory, 0.05f); } } }
public static int getNumberProvDevelopments(Nation player) { int amount = 0; for (int i = 0; i < player.getProvinces().Count; i++) { int pIndex = player.getProvinces()[i]; assemblyCsharp.Province prov = State.getProvinces()[pIndex]; amount += prov.getDevelopmentLevel(); } return(amount); }
public static int getNumberProvRailRoads(Nation player) { int amount = 0; for (int i = 0; i < player.getProvinces().Count; i++) { int pIndex = player.getProvinces()[i]; assemblyCsharp.Province prov = State.getProvinces()[pIndex]; amount += prov.getInfrastructure(); } return(amount); }
private void UpgradeDevelopment() { App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; int provIndex = State.getCurrentlySelectedProvince(); assemblyCsharp.Province prov = State.getProvinces()[provIndex]; PlayerPayer.payDevelopment(player, prov); this.DevelopmentLevel.text = prov.getDevelopmentLevel().ToString(); AP.text = player.getAP().ToString(); updateSelfProvinceButtons(player, prov); }
public void processTurnAdmin() { Debug.Log("Begin Process Turn Admin"); // State.setCurrentTurnOrderIndex(0); State.setCurrentPlayer(0); // MyEnum.GamePhase currentPhase = State.GetPhase(); App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation humanPlayer = State.getNations()[playerIndex]; State.currentPlayer = 0; Nation currentPlayer = State.getNations()[0]; // PlayerCollector.collectForPlayer(player); // Debug.Log("Count of getTurnOrder: " + State.getTurnOrder().Count); bool first = true; while (currentPlayer.getIndex() != 0 || first == true) { first = false; // Debug.Log("Current Turn Order Index: " + State.currentTurnOrderIndex); // Debug.Log("Current player is index: " + currentPlayer.getIndex()); if (humanPlayer.getIndex() == currentPlayer.getIndex()) { currentPlayer = State.getNextPlayer(); } // EarlyGameAdminstration.mainEarlyAdminLoop(currentPlayer); //------------------------------------------------------------------ currentPlayer.getAI().processAdminstrationPhase(currentPlayer); // PlayerProcessor.processSignals(currentPlayer); // maintenancePayer.payMaintenance(currentPlayer); PlayerCollector.collectForPlayer(currentPlayer); currentPlayer = State.getNextPlayer(); Debug.Log("New current player is: " + currentPlayer.getName() + " " + currentPlayer.getIndex()); Queue <int> newRailroads = currentPlayer.getAI().NewRailRoads; while (newRailroads.Count > 0) { int nextProvIndex = newRailroads.Dequeue(); assemblyCsharp.Province prov = State.getProvinces()[nextProvIndex]; railPlacer.drawRailroadOnMap(prov, currentPlayer); } } // State.advanceGamePhase(); Debug.Log(State.GetPhase()); return; }
public void drawRailRoadsFromScratch(Nation player) { HashSet <int> allProvinces = PlayerCalculator.getAllProvinces(player); foreach (int provIndex in allProvinces) { assemblyCsharp.Province prov = State.getProvinces()[provIndex]; if (prov.railroad) { drawRailroadOnMap(prov, player); } } }
private void UpgradeFort() { App app = UnityEngine.Object.FindObjectOfType <App>(); Nation player = State.getNations()[app.GetHumanIndex()]; int provIndex = State.getCurrentlySelectedProvince(); Debug.Log("Currently selected province: " + State.getProvinces()[provIndex].getProvName()); assemblyCsharp.Province prov = State.getProvinces()[provIndex]; PlayerPayer.payFortUpgrade(player, prov); FortLevel.text = prov.getFortLevel().ToString(); AP.text = player.getAP().ToString(); updateSelfProvinceButtons(player, prov); }
private void pickNewFleetPosition(Nation player) { WMSK map = WMSK.instance; Debug.Log(player.getNationName()); string capitalString = player.capital; assemblyCsharp.Province capital = State.GetProvinceByName(capitalString); int capitalIndex = capital.getIndex(); List <Vector2> capitalCoast = map.GetProvinceCoastalPoints(capitalIndex); int coastSize = capitalCoast.Count; int middle = (int)coastSize / 2; // Debug.Log("Middle: " + middle); Vector2 navalChoice = capitalCoast[middle]; player.setNewNavyPosition(navalChoice); }
private static void placeNewLandUnits(Nation player) { foreach (MyEnum.ArmyUnits unitType in Enum.GetValues(typeof(MyEnum.ArmyUnits))) { string capitalString = player.capital; assemblyCsharp.Province capital = State.GetProvinceByName(capitalString); for (int i = 0; i < player.getArmyProducing(unitType); i++) { Army newArmy = new Army(player.getIndex()); newArmy.addUnit(unitType); newArmy.setLocation(capital.getIndex()); capital.addFriendlyArmy(newArmy.GetIndex()); player.addArmy(newArmy); armyPlacer.placeArmyOnMap(capital.getIndex(), player, newArmy.GetIndex()); } } }
public void drawRailroadOnMap(assemblyCsharp.Province prov, Nation player) { WorldMapStrategyKit.Province mapProvince = map.provinces[prov.getIndex()]; Vector2 provCenter = mapProvince.center; for (int i = 0; i < prov.Neighbours.Count; i++) { if (PlayerCalculator.getAllProvinces(player).Contains(prov.Neighbours[i])) { // draw rail segment from prv to neighbourProv assemblyCsharp.Province neighbourProvince = State.getProvinces()[prov.Neighbours[i]]; if (neighbourProvince.railroad && !neighbourProvince.Linked.Contains(prov.getIndex()) && !prov.Linked.Contains(neighbourProvince.getIndex())) { WorldMapStrategyKit.Province mapNeighbourProvince = map.provinces[prov.Neighbours[i]]; Vector2 neighbourCenter = mapNeighbourProvince.center; Cell startCell = map.GetCell(provCenter); Cell endCell = map.GetCell(neighbourCenter); List <int> cellIndices = map.FindRoute(startCell, endCell, TERRAIN_CAPABILITY.OnlyGround); if (cellIndices == null) { return; } int positionsCount = cellIndices.Count; Debug.Log("Number of positions: " + positionsCount); Vector2[] positions = new Vector2[positionsCount]; for (int k = 0; k < positionsCount; k++) { positions[k] = map.cells[cellIndices[k]].center; } // Build a railroad along the map coordinates LineMarkerAnimator lma = map.AddLine(positions, Color.white, 0.0f, 0.15f); Texture2D railwayMatt = Resources.Load("Sprites/GUI/railRoad", typeof(Texture2D)) as Texture2D; lma.lineMaterial.mainTexture = railwayMatt; lma.lineMaterial.mainTextureScale = new Vector2(16f, 2f); neighbourProvince.Linked.Add(prov.getIndex()); prov.Linked.Add(neighbourProvince.getIndex()); } } } }
// Use this for initialization void Start() { map = WMSK.instance; map.OnClick += (float x, float y, int buttonIndex) => { if (buttonIndex == 1) { return; } Vector2 provincePosition = new Vector2(x, y); int clickedIndex = map.GetProvinceIndex(provincePosition); if (map.ContainsWater(provincePosition)) { return; } assemblyCsharp.Province clickedProvince = provinces[clickedIndex]; int provinceOwner = clickedProvince.getOwnerIndex(); Nation owner = nations[provinceOwner]; // Debug.Log("That 51"); if (map.VGOLastHighlighted == null) { if (SelfProvinceGUI.activeSelf) { SelfProvinceGUI.SetActive(false); } if (OtherProvinceGUI.activeSelf) { OtherProvinceGUI.SetActive(false); } if (!owner.IsHuman()) { // Debug.Log("That 69"); ThatFillInData(clickedProvince); OtherProvinceGUI.SetActive(true); } } }; }
private static void placeNewSeaUnits(Nation player) { WMSK map = WMSK.instance; foreach (MyEnum.NavyUnits unitType in Enum.GetValues(typeof(MyEnum.ArmyUnits))) { string capitalString = player.capital; assemblyCsharp.Province capital = State.GetProvinceByName(capitalString); for (int i = 0; i < player.getNavyProducing(unitType); i++) { Fleet newFleet = new Fleet(player.getIndex()); newFleet.addUnit(unitType, 1); // map.GetProvinceCoastalPoints newFleet.setLocation(capital.getIndex()); player.addFleet(newFleet); //maybe add mount object for port and have new fleets appear there by default } } }
public void ThatFillInData(assemblyCsharp.Province province) { this.Name.text = province.getProvName(); string resource = province.getResource().ToString(); Sprite newResourceSprite = Resources.Load("Resource/" + resource, typeof(Sprite)) as Sprite; this.Resource.sprite = newResourceSprite; this.Produces.text = "Produces " + Produces.ToString() + " " + resource + " /turn"; this.RailroadLevel.text = province.getInfrastructure().ToString(); this.FortLevel.text = province.getFortLevel().ToString(); this.Culture.text = "Culture: " + province.culture; this.resourceText.text = "Province produces " + resource; string nation = province.getOwner().ToString(); this.NationName.text = nation; //text.text = "Province produces " + Resource; this.Flag.sprite = Resources.Load("Flags/" + province.getOwner().ToString(), typeof(Sprite)) as Sprite; // Text flagText = FlagTip.GetComponentInChildren<Text>(); // Debug.Log("Flag text: " + flagText.text); // flagText.text = Owner; }
private void updateGameMap() { WMSK map = WMSK.instance; foreach (Nation nation in State.getNations().Values) { if (nation.IsColonyOf() >= 0) { Nation major = State.getNations()[nation.IsColonyOf()]; Color color = major.getColor(); nation.setColor(color); //Colonies taken from Old Empires will be handled differently. } Queue <int> newRailroads = nation.getAI().NewRailRoads; while (newRailroads.Count > 0) { int provIndex = newRailroads.Dequeue(); assemblyCsharp.Province prov = State.getProvinces()[provIndex]; railPlacer.drawRailroadOnMap(prov, nation); } } }
//just for AI public void initalizeFactoryPriorities(Nation player) { TopLevel aiTopLevel = player.getAI().GetTopLevel(); foreach (MyEnum.Goods good in Enum.GetValues(typeof(MyEnum.Goods))) { aiTopLevel.setFactPriority(player, good, 1); } for (int i = 0; i < player.getProvinces().Count; i++) { int pIndex = player.getProvinces()[i]; assemblyCsharp.Province prov = State.getProvinces()[pIndex]; if (prov.getResource() == MyEnum.Resources.coal) { aiTopLevel.alterFactPriority(player, MyEnum.Goods.steel, 0.25f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.parts, 0.15f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.arms, 0.15f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.chemicals, 0.2f); } if (prov.getResource() == MyEnum.Resources.cotton) { aiTopLevel.alterFactPriority(player, MyEnum.Goods.fabric, 0.25f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.clothing, 0.2f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.furniture, 0.1f); } if (prov.getResource() == MyEnum.Resources.dyes) { aiTopLevel.alterFactPriority(player, MyEnum.Goods.fabric, 0.25f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.clothing, 0.2f); } if (prov.getResource() == MyEnum.Resources.iron) { aiTopLevel.alterFactPriority(player, MyEnum.Goods.steel, 0.25f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.parts, 0.2f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.arms, 0.2f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.gear, 0.075f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.auto, 0.075f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.tank, 0.12f); } if (prov.getResource() == MyEnum.Resources.oil) { aiTopLevel.alterFactPriority(player, MyEnum.Goods.auto, 0.15f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.fighter, 0.1f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.tank, 0.1f); } if (prov.getResource() == MyEnum.Resources.rubber) { aiTopLevel.alterFactPriority(player, MyEnum.Goods.gear, 0.25f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.telephone, 0.2f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.auto, 0.12f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.fighter, 0.075f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.tank, 0.075f); } if (prov.getResource() == MyEnum.Resources.wood) { aiTopLevel.alterFactPriority(player, MyEnum.Goods.lumber, 0.25f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.paper, 0.25f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.furniture, 0.15f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.telephone, 0.075f); aiTopLevel.alterFactPriority(player, MyEnum.Goods.fighter, 0.075f); } } }
public void initalizeResourcePriorities(Nation player) { TopLevel aiTopLevel = player.getAI().GetTopLevel(); aiTopLevel.setResPriority(player, MyEnum.Resources.wheat, 3); aiTopLevel.setResPriority(player, MyEnum.Resources.meat, 2.5f); aiTopLevel.setResPriority(player, MyEnum.Resources.fruit, 2.5f); aiTopLevel.setResPriority(player, MyEnum.Resources.coal, 1); aiTopLevel.setResPriority(player, MyEnum.Resources.cotton, 1.5f); aiTopLevel.setResPriority(player, MyEnum.Resources.dyes, 2.5f); aiTopLevel.setResPriority(player, MyEnum.Resources.gold, 3f); aiTopLevel.setResPriority(player, MyEnum.Resources.iron, 2.25f); aiTopLevel.setResPriority(player, MyEnum.Resources.oil, 0.25f); aiTopLevel.setResPriority(player, MyEnum.Resources.rubber, 0.25f); aiTopLevel.setResPriority(player, MyEnum.Resources.spice, 2.75f); aiTopLevel.setResPriority(player, MyEnum.Resources.wood, 1.5f); for (int i = 0; i < player.getProvinces().Count; i++) { int pIndex = player.getProvinces()[i]; assemblyCsharp.Province prov = State.getProvinces()[pIndex]; if (prov.getResource() == MyEnum.Resources.wheat) { aiTopLevel.alterResPriority(player, MyEnum.Resources.wheat, -0.2f); } if (prov.getResource() == MyEnum.Resources.meat) { aiTopLevel.alterResPriority(player, MyEnum.Resources.meat, -0.15f); } if (prov.getResource() == MyEnum.Resources.fruit) { aiTopLevel.alterResPriority(player, MyEnum.Resources.fruit, -0.15f); } if (prov.getResource() == MyEnum.Resources.coal) { aiTopLevel.alterResPriority(player, MyEnum.Resources.iron, 0.15f); aiTopLevel.alterResPriority(player, MyEnum.Resources.coal, -0.05f); } if (prov.getResource() == MyEnum.Resources.cotton) { aiTopLevel.alterResPriority(player, MyEnum.Resources.dyes, 0.16f); aiTopLevel.alterResPriority(player, MyEnum.Resources.cotton, -0.075f); aiTopLevel.alterResPriority(player, MyEnum.Resources.wood, 0.075f); } if (prov.getResource() == MyEnum.Resources.dyes) { aiTopLevel.alterResPriority(player, MyEnum.Resources.cotton, 0.2f); } if (prov.getResource() == MyEnum.Resources.gold) { aiTopLevel.alterResPriority(player, MyEnum.Resources.gold, -0.15f); } if (prov.getResource() == MyEnum.Resources.iron) { aiTopLevel.alterResPriority(player, MyEnum.Resources.coal, 0.1f); aiTopLevel.alterResPriority(player, MyEnum.Resources.iron, -0.075f); } if (prov.getResource() == MyEnum.Resources.oil) { aiTopLevel.alterResPriority(player, MyEnum.Resources.oil, -0.075f); } if (prov.getResource() == MyEnum.Resources.rubber) { aiTopLevel.alterResPriority(player, MyEnum.Resources.rubber, -0.075f); } if (prov.getResource() == MyEnum.Resources.spice) { aiTopLevel.alterResPriority(player, MyEnum.Resources.gold, -0.075f); } if (prov.getResource() == MyEnum.Resources.wood) { aiTopLevel.alterResPriority(player, MyEnum.Resources.wood, -0.1f); aiTopLevel.alterResPriority(player, MyEnum.Resources.cotton, 0.075f); } } }
private void prepareAuctionPanel(AuctionHandler auction) { increaseBid.enabled = true; decreaseBid.enabled = true; App app = UnityEngine.Object.FindObjectOfType <App>(); int playerIndex = app.GetHumanIndex(); Nation player = State.getNations()[playerIndex]; TextMeshProUGUI title = AuctionPanelTitleText.GetComponent <TextMeshProUGUI>(); Nation item = State.getNations()[0]; // Colony Auction backGroudImage.sprite = Resources.Load("Sprites/BackGrounds/imperialism_cartoon", typeof(Sprite)) as Sprite; title.text = "Colony Bids"; pointTypeText.text = "Colonial Points"; // PointTypeImage.sprite = Resources.Load("Sprites/GUI/eagle", typeof(Sprite)) as Sprite; item = State.getNations()[auction.getIndexOfCurrentItem()]; // GameObject mapPrefab = Instantiate(Resources.Load<GameObject>("RPG100set/512/Prop/06_letter" + item.getNationName())); currentNumberOfBiddingPoints.text = player.GetColonialPoints().ToString(); if (player.GetColonialPoints() < State.CurrentColonyAuctionBid || player.RecognizingTheseClaims.Contains(item.getIndex()) || player.landForces.Strength < 2) { increaseBid.interactable = false; } else { increaseBid.interactable = true; } TextMeshProUGUI itemName = ItemNameText.GetComponent <TextMeshProUGUI>(); itemName.text = item.getNationName(); GameObject itemFlag = Instantiate(Resources.Load <GameObject>("Flags/Prefabs/" + item.getNationName())); itemFlag1.ObjectPrefab = itemFlag.transform; // TextMeshProUGUI currentPlayerBid = currentBidAmount.GetComponent<TextMeshProUGUI>(); currentBidAmount.text = "00"; int firstProvIndex = -1; int secondProvIndex = -1; foreach (int provIndex in item.getProvinces()) { if (firstProvIndex == -1) { firstProvIndex = provIndex; } else { secondProvIndex = provIndex; } } assemblyCsharp.Province firstProvince = State.getProvince(firstProvIndex); itemProvinces.Rows[1].Cells[0].GetComponentInChildren <Text>().text = firstProvince.getProvName(); // itemProvinces.Rows[1].Cells[1].GetComponentInChildren<Image>().sprite = Transform P1Res = itemProvinces.Rows[1].Cells[1].transform.GetChild(0); Image P1ResImage = P1Res.GetComponent <Image>(); // Image provOneRes = itemProvinces.Rows[1].Cells[1].GetComponentInChildren<Image>() as Image; //resImg.sprite = Resources.Load("Resource/" + imp.getResourceType().ToString(), typeof(Sprite)) as Sprite; // Debug.Log("First Resource is: " + firstProvince.getResource()); P1ResImage.sprite = Resources.Load("Resource/" + firstProvince.getResource().ToString(), typeof(Sprite)) as Sprite; itemProvinces.Rows[1].Cells[2].GetComponentInChildren <Text>().text = firstProvince.getDevelopmentLevel().ToString(); Toggle provOneRail = itemProvinces.Rows[1].Cells[3].GetComponentInChildren <Toggle>(); if (firstProvince.getRail()) { provOneRail.isOn = true; } else { provOneRail.isOn = false; } assemblyCsharp.Province secondProvince = State.getProvince(secondProvIndex); itemProvinces.Rows[2].Cells[0].GetComponentInChildren <Text>().text = secondProvince.getProvName(); // itemProvinces.Rows[1].Cells[1].GetComponentInChildren<Image>().sprite = // Image provTwoRes = itemProvinces.Rows[2].Cells[1].GetComponentInChildren<Image>() as Image; // Debug.Log("Second Resource is: " + secondProvince.getResource()); Transform P2Res = itemProvinces.Rows[2].Cells[1].transform.GetChild(0); Image P2ResImage = P2Res.GetComponent <Image>(); P2ResImage.sprite = Resources.Load("Resource/" + secondProvince.getResource().ToString(), typeof(Sprite)) as Sprite; itemProvinces.Rows[2].Cells[2].GetComponentInChildren <Text>().text = secondProvince.getDevelopmentLevel().ToString(); Toggle provTwoRail = itemProvinces.Rows[2].Cells[3].GetComponentInChildren <Toggle>(); if (secondProvince.getRail()) { provTwoRail.isOn = true; } else { provTwoRail.isOn = false; } if (item.IsColonyOf() != -1) { Nation currentOwner = State.getNations()[item.IsColonyOf()]; currentOwnerName.text = currentOwner.getNationName(); relationWithCurrentOwner.text = player.Relations[currentOwner.getIndex()].ToString(); } else { currentOwnerName.text = "None"; } if (player.RecognizingTheseClaims.Contains(item.getIndex())) { isRecognizing.isOn = true; } else { isRecognizing.isOn = false; } }
// Use this for initialization void Start() { State.turn = 1; State.setGamePhase(MyEnum.GamePhase.adminstration); map = WMSK.instance; SelfProvinceGUI.SetActive(false); OtherProvinceGUI.SetActive(false); // WMSKMiniMap.Show(); string nationsPath = Application.dataPath + "/StreamingAssets/Scenarios/DefaultFictional/Nations"; string provincesPath = Application.dataPath + "/StreamingAssets/Scenarios/DefaultFictional/Provinces"; string[] provFiles = Directory.GetFiles(provincesPath, "*.json"); //foreach (string file in System.IO.Directory.GetFiles(provincesPath)) foreach (string file in provFiles) { string dataAsJson = File.ReadAllText(file); // Debug.Log(dataAsJson); // assemblyCsharp.Province province = assemblyCsharp.Province.CreateFromJSON(dataAsJson); //assemblyCsharp.Province province = new assemblyCsharp.Province(); // assemblyCsharp.Province newProvince = JsonUtility.FromJson<assemblyCsharp.Province>(dataAsJson); var newProvince = Newtonsoft.Json.JsonConvert.DeserializeObject <assemblyCsharp.Province>(dataAsJson); provinces.Add(newProvince.getIndex(), newProvince); // Debug.Log("Culture: " + newProvince.getCulture()); map.GetProvince(newProvince.getIndex()).name = newProvince.getProvName(); map.GetProvince(newProvince.getIndex()).customLabel = newProvince.getProvName(); } string[] nationFiles = Directory.GetFiles(nationsPath, "*.json"); foreach (string file in nationFiles) { string dataAsJson = File.ReadAllText(file); // Debug.Log(dataAsJson); var newNation = Newtonsoft.Json.JsonConvert.DeserializeObject <assemblyCsharp.Nation>(dataAsJson); // Nation newNation = JsonUtility.FromJson<Nation>(dataAsJson); nations.Add(newNation.getIndex(), newNation); map.GetCountry(newNation.getIndex()).name = newNation.getNationName(); Color color = new Color(UnityEngine.Random.Range(0.0f, 1.0f), UnityEngine.Random.Range(0.0f, 1.0f), UnityEngine.Random.Range(0.0f, 1.0f)); newNation.setColor(color); // map.ToggleCountrySurface(newNation.getIndex(), true, color); map.GetCountry(newNation.getIndex()).customLabel = newNation.getNationName(); map.CountryRename("Country" + newNation.getIndex(), newNation.getNationName()); } map.Redraw(); for (int k = 0; k < map.countries.Length; k++) { //Color color = new Color(UnityEngine.Random.Range(0.0f, 1.0f), // UnityEngine.Random.Range(0.0f, 1.0f), UnityEngine.Random.Range(0.0f, 1.0f)); Color color = nations[k].getColor(); // Debug.Log("f**k: " + k + " " + color); map.ToggleCountrySurface(k, true, color); } float left = 0.78f; float top = 0.02f; float width = 0.2f; float height = 0.2f; Vector4 normalizedScreenRect = new Vector4(left, top, width, height); WMSKMiniMap minimap = WMSKMiniMap.Show(normalizedScreenRect); // string path = Application.dataPath + "Alpha9.png"; minimap.map.earthStyle = EARTH_STYLE.SolidColor; // string absoluteImagePath = Path.Combine(Application.streamingAssetsPath, "ScenarioOne/Alpha9.png"); //Texture2D miniMapTexture = loadSprite(path); Texture2D miniMapTexture = Resources.Load("AlphaPrime.png", typeof(Texture2D)) as Texture2D; minimap.map.earthTexture = miniMapTexture; minimap.map.fillColor = Color.blue; minimap.map.earthColor = Color.blue; minimap.duration = 1.5f; minimap.zoomLevel = 0.4f; for (int countryIndex = 0; countryIndex < map.countries.Length; countryIndex++) { Color color = nations[countryIndex].getColor(); minimap.map.ToggleCountrySurface(countryIndex, true, color); } Dictionary <int, string> majorNations = NationData.majorDict; Dictionary <int, string> minorNations = NationData.minorDict; Dictionary <int, string> uncivNations = NationData.uncivDict; map.showProvinceNames = true; WorldMapStrategyKit.Province prov = map.GetProvince(45); Vector2 position = prov.center; // Vector2 position = map.GetProvince(45, 20).center; army = PlaceArmy(position); army.name = "first unit"; army.GetComponent <ArmyController>().army = army; Vector2 position2 = map.GetProvince(32).center; Nation humanPlayer = nations[16]; humanPlayer.SetHuman(true); // //Ship Click /* map.OnClick += (float x, float y, int buttonIndex) => { * Vector2 shipPosition = new Vector2(x, y); * byte byteValue1= 0; * * map.waterMaskLevel = byteValue1; * if (map.ContainsWater(shipPosition)) * { * Debug.Log("Water!"); * * } * else * { * Debug.Log("Land!"); * } * if (map.GetProvince(shipPosition) == null) * { * ship.MoveTo(shipPosition, 0.1f); * } * * }; */ // LaunchShip(); //Show resources of each provinces // ShowProvinceResources(); map.OnClick += (float x, float y, int buttonIndex) => { Vector2 provincePosition = new Vector2(x, y); int clickedIndex = map.GetProvinceIndex(provincePosition); assemblyCsharp.Province clickedProvince = provinces[clickedIndex]; }; }