/// <summary>
        /// Подъем мертвецов в случайно выбранных клетках (где их раньше не было)
        /// </summary>
        private void RiseNew()
        {
            int alive_count = 0;

            foreach (Stage s in graveyard)
            {
                if (s != Stage.Sleeps)
                {
                    alive_count++;
                }
            }

            List <int> graves_nums = new List <int>();

            while (alive_count < GameDefaults.Population)
            {
                int r;
                do
                {
                    r = random.Next(graveyard.Length);
                }while (graveyard[r] != Stage.Sleeps);

                graves_nums.Add(r);
                graveyard[r]++;
                alive_count++;
            }
            RiseNewEvent?.Invoke(this, new RiseNewEventArgs(graves_nums));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Вызывается при получении с сервера сообщения о появления новых мертвецов
 /// </summary>
 /// <param name="places">Список мест, где появляются мертвецы</param>
 public void RiseNew(List <int> places)
 {
     RiseNewEvent?.Invoke(this, new RiseNewEventArgs(places));
 }