Exemple #1
0
        /// <summary>
        /// Checks - outside
        /// </summary>
        /// <param name="change"></param>
        internal void Change(int change)
        {
            //population += change;
            ////throw new NotImplementedException();
            ////because pool aren't implemented yet
            ////Pool.ReleaseObject(this);
            var newPopulation = population + change;

            if (newPopulation > 0)
            {
                population = newPopulation;

                lifeNeeds.Clear();
                foreach (var item in pop.Type.getLifeNeedsPer1000Men())
                {
                    lifeNeeds.Add(item.Copy().Multiply(population / PopulationMultiplier));
                }

                everydayNeeds.Clear();
                foreach (var item in pop.Type.getEveryDayNeedsPer1000Men())
                {
                    everydayNeeds.Add(item.Copy().Multiply(population / PopulationMultiplier));
                }

                luxuryNeeds.Clear();
                foreach (var item in pop.Type.getLuxuryNeedsPer1000Men())
                {
                    luxuryNeeds.Add(item.Copy().Multiply(population / PopulationMultiplier));
                }
            }
            else
            {
                pop.Kill();
            }
        }