Beispiel #1
0
    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;
                }
            }
        }
    }
Beispiel #2
0
    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();
    }