private void GetFromMap() { var cityM = new CountryToGlobalCountry(); var localMap = WMSK.instance; var localWorldManager = FindObjectOfType <WorldManager>(); var countryIndex = localMap.GetCountryIndex(MapLookUpName); var localCountry = localMap.GetCountry(countryIndex); var captialCity = localMap.cities.FirstOrDefault(e => e.countryIndex == countryIndex && e.cityClass == CITY_CLASS.COUNTRY_CAPITAL); var captialProvinceName = captialCity.province; CaptialName = captialCity.name; var captialProvince = localMap.GetProvince(captialProvinceName, localCountry.name); CountryOfGovernment.index = countryIndex; MapLookUpName = NameOfGovernment = CountryOfGovernment.name = localCountry.name; CountryOfGovernment.regionName = CustomRegionName.Length > 0 ? CustomRegionName : localCountry.continent; CaptialProvince.index = captialProvince.uniqueId; CaptialProvince.name = captialProvince.name; CaptialProvince.location = captialProvince.center; CaptialProvince.countryIndex = countryIndex; CaptialProvince.urbanRate = UrbanPopulationRate; CountryOfGovernment.captialLocation = captialCity.unity2DLocation; if (CountryFlag != null) { CaptialProvince.flagowner = CountryFlag; CountryOfGovernment.flagowner = CountryFlag; } ControlsProvincesNames.Clear(); for (int i = 0; i < localCountry.provinces.Length; i++) { var selectedProvince = localCountry.provinces[i]; var newProvince = new CountryToGlobalCountry.GenericProvince(selectedProvince.name); var provinceCities = localMap.cities.Where(e => e.countryIndex == countryIndex && e.province == selectedProvince.name); ControlsProvincesNames.Add(cityM.RandomProvince(provinceCities, selectedProvince, this)); } ControlsCitiesNames.Clear(); var localCities = localMap.cities.Where(e => e.countryIndex == countryIndex).ToList(); for (int i = 0; i < localCities.Count; i++) { var city = localCities[i]; var cityData = localWorldManager.WorldCityData.FirstOrDefault(e => e.name == city.name); var cityProvince = ControlsProvincesNames.FirstOrDefault(e => e.name == city.province); if (cityData != null) { cityProvince.ProvinceCities = new List <CountryToGlobalCountry.GenericCity>(); var newCity = cityM.GenericCityFromData(cityData); cityProvince.ProvinceCities.Add(newCity); ControlsCitiesNames.Add(newCity); } else { try { var copyOfGover = this; var selectedProvince = localCountry.provinces.ToList().FirstOrDefault(e => e.name == cityProvince.name); var newGenericCity = cityM.RandomGenericCity(city, copyOfGover, selectedProvince, localMap); if (city.cityClass == CITY_CLASS.COUNTRY_CAPITAL) { newGenericCity.isCapital = true; } if (city.cityClass == CITY_CLASS.REGION_CAPITAL) { newGenericCity.isRegionalCaptial = true; cityProvince.regionCaptialLocation = city.unity2DLocation; } ControlsCitiesNames.Add(newGenericCity); //if (cityProvince.ProvinceCities == null) //{ // cityProvince.ProvinceCities = new List<CountryToGlobalCountry.GenericCity>(); // cityProvince.ProvinceCities.Add(newGenericCity); //} //else //{ // cityProvince.ProvinceCities.Add(newGenericCity); //} } catch (Exception di) { var f = di; } } } }
public void SelectProvince(int provinceIndex, int regionIndex, CountryToGlobalCountry.GenericProvince SelectedProvince) { // wmslObj.getpr // GameProvinceInfoPanel.SetActive(true); var cm = new CountryToGlobalCountry(); gameObject.SetActive(true); var controlLevel = 100f; if (GameMapManager.SelectedCountryManager != null) { SelectedProvince = GameMapManager.SelectedCountryManager.CountryGovernment.ControlsProvincesNames.FirstOrDefault(e => e.index == provinceIndex && e.countryIndex == regionIndex); //Player controls this province //wmslObj.FlyToProvince(provinceIndex, 3f, ZoomChange); if (SelectedProvince == null) { var selectedProvince = wmslObj.provinces[provinceIndex]; var newProvince = new CountryToGlobalCountry.GenericProvince(selectedProvince.name); newProvince.index = selectedProvince.uniqueId; newProvince.countryIndex = regionIndex; newProvince.location.x = selectedProvince.center.x; newProvince.location.y = selectedProvince.center.y; SelectedProvince = newProvince; GameMapManager.SelectedCountryManager.CountryGovernment.ControlsProvincesNames.Add(newProvince); ProvinceControllingFlag.texture = SelectedProvince.flagowner; // helpers.LoadFlagFromCountryName(selectedProvince.countryIndex); } } else { var selectedProvince = wmslObj.provinces[provinceIndex]; //check if the player owns this or if it exists in the list of known provinces var gameManager = FindObjectOfType <GameManager>(); var playerCountryManager = gameManager.GameWorldManager.CountryPlayerManagerGameObject.GetComponentInChildren <CountryManager>(); ProvinceMilitary.text = GetTotalMilitaryInProvince(playerCountryManager, selectedProvince.uniqueId); if (playerCountryManager.CountryProvinceControlList.Count > 0) { SelectedProvince = playerCountryManager.CountryProvinceControlList.FirstOrDefault(e => e.index == selectedProvince.uniqueId); if (SelectedProvince != null) { SelectedProvince.ProvinceCities = playerCountryManager.CountryCityControlList.Where(e => e.provinceName == selectedProvince.name).ToList(); controlLevel = playerCountryManager.CountryProvinceControlList.FirstOrDefault(e => e.index == selectedProvince.uniqueId).ProvinceControl; } } else if (gameManager.GameWorldManager.CountryAIManagerGameObject != null && SelectedProvince == null) { //check if the AI provinces exists var AICountryManagers = gameManager.GameWorldManager.CountryAIManagerGameObject.GetComponents <CountryManager>().ToList(); if (SelectedProvince == null && AICountryManagers != null) { SelectedProvince = AICountryManagers.FirstOrDefault(e => e.CountryGovernment.CountryOfGovernment.index == selectedProvince.countryIndex).CountryProvinceControlList.FirstOrDefault(prov => prov.index == selectedProvince.uniqueId); controlLevel = AICountryManagers.FirstOrDefault(e => e.CountryGovernment.CountryOfGovernment.index == selectedProvince.countryIndex).CountryProvinceControlList.FirstOrDefault(prov => prov.index == selectedProvince.uniqueId).ProvinceControl; SelectedProvince.ProvinceCities = AICountryManagers.FirstOrDefault(e => e.CountryGovernment.CountryOfGovernment.index == selectedProvince.countryIndex).CountryCityControlList.Where(prov => prov.index == selectedProvince.uniqueId).ToList(); ProvinceMilitary.text = GetTotalMilitaryInProvince(AICountryManagers.FirstOrDefault(e => e.CountryGovernment.CountryOfGovernment.index == selectedProvince.countryIndex), selectedProvince.uniqueId); } } if (SelectedProvince == null) { //it doesn't exit in the game yet so lets check from the seed data SelectedProvince = playerCountryManager.CountryGovernment.ControlsProvincesNames.FirstOrDefault(province => province.index == selectedProvince.uniqueId && province.countryIndex == selectedProvince.countryIndex); if (SelectedProvince == null) { var listOfCities = wmslObj.cities.Where(e => e.countryIndex == selectedProvince.countryIndex && e.province == selectedProvince.name); //it doesn't exist so add it to the world list temporary var newProvince = cm.RandomProvince(listOfCities, selectedProvince, playerCountryManager.CountryGovernment); newProvince.index = selectedProvince.uniqueId; newProvince.countryIndex = selectedProvince.countryIndex; newProvince.location.x = selectedProvince.center.x; newProvince.location.y = selectedProvince.center.y; newProvince.name = selectedProvince.name; SelectedProvince = newProvince; ProvinceNoIntel.gameObject.SetActive(true); ProvinceNoSpyNetwork.gameObject.SetActive(true); ProvinceNoActiveTerrorGroups.gameObject.SetActive(true); ProvinceIncomeText.text = "Unknown."; ProvinceInfastructure.text = "Unknown."; ProvinceMilitary.text = "Unknown."; } } } if (SelectedProvince != null) { ProvinceNameText.text = SelectedProvince.name; ProvinceCountryText.text = wmslObj.GetCountry(SelectedProvince.countryIndex).name; ProvinceRuleOfLaw.Value = provinceRuleOfLaw = (int)SelectedProvince.provinceRuleOfLaw; ProvinceHumanSecurity.Value = provinceHumanSecurity = (int)SelectedProvince.provinceHumanSecurity; ProvinceEconomicActivity.Value = provinceEconomicDevelopment = (int)SelectedProvince.provinceEconomicDevelopment; ProvinceCulturalValue.Value = provinceCulturalValue = (int)SelectedProvince.provinceCulturalValue; CityTotal.text = GetTotalCities(SelectedProvince.ProvinceCities); PopulationText.text = string.Format("{0} people", SelectedProvince.population); } gameObject.SetActive(true); // provinceUI.PopulationText.text = string.Format("{0:n0}", SelectedProvince.population); // SetPanelsByModeOnClick(); }