Exemplo n.º 1
0
    private void Start()
    {
        com = GetComponent <Community>();

        com.totalWealth = startWealth;

        for (int i = 0; i < cList.Count; i++)
        {
            CommunityCulture cc   = cList[i];
            Culture          cult = cc.cCult;

            cc.cPop      *= startPop;
            cc.cWealth   *= startWealth;
            cc.cMarriage *= startPop;

            if (com.residentCultures.Contains(cult) == false)
            {
                com.residentCultures.Add(cult);
            }

            float cPop = cList[i].cPop;

            for (int a = 0; a < cPop; a++)
            {
                GameObject citizen = Instantiate(prefab);
                citizen.transform.SetParent(civPool.transform);
                Citizen c = citizen.GetComponent <Citizen>();
                c.culture = cult;

                c.home = gameObject;
                com.citizens.Add(c);

                c.education = Random.Range(1, cc.education);
                cc.citList.Add(c);

                c.cultureDiscr   = cultureDiscr;
                c.religiousDiscr = religiousDiscr;

                c.religiousity = Random.Range(cc.faithMin, cc.faithMax);

                c.Basics();
                c.Randomizer();
            }

            float total         = 0;
            float partnerSearch = cc.cMarriage;

            for (int b = 0; b < cc.citList.Count; b++)
            {
                Citizen c = cc.citList[b];

                c.wealthPart = Random.Range(0, cc.cWKey);
                total       += c.wealthPart;

                c.age = Random.Range(18, cc.cAge);

                if (partnerSearch > 0)
                {
                    c.onSearch     = true;
                    partnerSearch -= 1;
                }
            }

            for (int b = 0; b < cc.citList.Count; b++)
            {
                Citizen c = cc.citList[b];

                c.wealthPart /= total;
                c.wealth     += c.wealthPart * cc.cWealth;
            }
        }

        for (int c = 0; c < com.citizens.Count; c++)
        {
            Citizen cit = com.citizens[c];

            if (cit.onSearch)
            {
                Debug.Log("Searching!");
                cit.SearchPartner();
            }

            cit.power = cit.wealthPart * com.citizens.Count;
        }
    }