/// <summary>
 /// Уменьшение прогресса поднимающегося мертвеца на 1 единицу
 /// </summary>
 /// <param name="number">Номер могилы</param>
 public void Push(int number)
 {
     if (graveyard[number] != Stage.Sleeps)
     {
         graveyard[number]--;
         RiseProgressEvent?.Invoke(this, new RiseProgressEventArgs(number, graveyard[number]));
         if (graveyard[number] == Stage.Sleeps)
         {
             result++;
         }
     }
 }
        /// <summary>
        /// Подъем мертвеца на 1 стадию вперед в данной могиле
        /// </summary>
        /// <param name="number">Номер могилы</param>
        private void DoRiseProgress(int number)
        {
            if (number >= graveyard.Length || number < 0)
            {
                throw new ArgumentException();
            }

            if (graveyard[number] < GameDefaults.MaxStage)
            {
                graveyard[number]++;
            }
            else
            {
                graveyard[number] = 0;
                ChangeHp(hp - 1);
            }
            RiseProgressEvent?.Invoke(this, new RiseProgressEventArgs(number, graveyard[number]));
        }
示例#3
0
 /// <summary>
 /// Вызывается при получении с сервера сообщения о прогрессе мертвеца до определенной стадии
 /// </summary>
 /// <param name="place">Номер могилы мертвеца</param>
 /// <param name="stage">Новая стадия</param>
 public void RiseProgress(int place, Stage stage)
 {
     RiseProgressEvent?.Invoke(this, new RiseProgressEventArgs(place, stage));
 }