/*************************************************** *** SUB-CLASSES ************************ ***************************************************/ /******** PUBLIC ************************/ /******** PROTECTED ************************/ /******** PRIVATE ************************/ /*************************************************** *** ATTRIBUTES ************************ ***************************************************/ /******** PUBLIC ************************/ /******** PROTECTED ************************/ /******** PRIVATE ************************/ /*************************************************** *** METHODS ************************ ***************************************************/ /******** PUBLIC ************************/ // Use this for initialization public void Start() { if (m_cityNumber + m_mountainNumber + m_seaNumber > m_tileNumber) { Debug.LogError("Error in planet building configuration : too much city and relief"); } // create all the cities int l_cityToAdd = m_cityNumber; int l_mountainToAdd = m_mountainNumber; int l_seaToAdd = m_seaNumber; List <GameObject> l_cities = new List <GameObject>(); for (int i = 0; i < m_tileNumber; ++i) { GameObject l_go = Instantiate(m_cityPrefab, transform); l_cities.Add(l_go); City.KindCity l_kind = City.KindCity.ePrairie; if (l_cityToAdd > 0) { l_cityToAdd--; l_kind = City.KindCity.eCity; } else if (l_mountainToAdd > 0) { l_mountainToAdd--; l_kind = City.KindCity.eMountain; } else if (l_seaToAdd > 0) { l_seaToAdd--; l_kind = City.KindCity.eSea; } l_go.GetComponentInChildren <City>().becomeSomethingAwesome(l_kind); } // rotate the cities l_cities = l_cities.OrderBy(item => Random.value).ToList(); float l_ratio = 360.0f / m_tileNumber; for (int i = 0; i < m_tileNumber; ++i) { l_cities[i].gameObject.transform.Rotate(new Vector3(0, 0, l_ratio * i)); } }
public static string getName(City.KindCity p_kind) { switch (p_kind) { case City.KindCity.ePrairie: return("Just a f*****g prairie"); case City.KindCity.eCity: return(m_citiesDictionary[Random.Range(0, m_citiesDictionary.Count)]); case City.KindCity.eMountain: return(m_mountainsDictionary[Random.Range(0, m_mountainsDictionary.Count)]); case City.KindCity.eSea: return(m_seasDictionary[Random.Range(0, m_seasDictionary.Count)]); default: return(""); } }