/***************************************************
    ***  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));
        }
    }
Exemple #2
0
    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("");
        }
    }