/// <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)); }
/// <summary> /// Вызывается при получении с сервера сообщения о появления новых мертвецов /// </summary> /// <param name="places">Список мест, где появляются мертвецы</param> public void RiseNew(List <int> places) { RiseNewEvent?.Invoke(this, new RiseNewEventArgs(places)); }