Esempio n. 1
0
 /// <summary>
 /// Заглушка для стрельбы шатлом
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void Shoot()
 {
     if (Energy < (int)bulletsPower)
     {
         ShuttleEnergyLowEvent?.Invoke();
         base.WriteLog($"ShuttleEnergyLow:{Energy}");
     }
     else
     {
         Bullet tmpBull;
         if (clip.Count == 0)
         {
             tmpBull              = new Bullet(new Point(base.Rect.X + base.Rect.Width, base.Rect.Y + base.Rect.Height / 2), this.bulletsSpeed, this.bulletsPower, new Size(4, 2));
             tmpBull.BulletIsOut += FillClip;
         }
         else
         {
             tmpBull = clip.Pop();
             tmpBull.ChangeLocation(base.Rect.X + base.Rect.Width, base.Rect.Y + base.Rect.Height / 2);
             tmpBull.ChangePowerSpeed(this.bulletsSpeed, this.bulletsPower);
         }
         ChangeEnergy(-tmpBull.Power);
         base.WriteLog($"Shuttle Shoot:bulletPower{tmpBull.Power}");
         shootedBullets.Add(tmpBull);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// Изменить энергию коробля в случае выстрела или с течением времени
 /// </summary>
 /// <param name="deltaEnergy">Величина изменения энергии</param>
 public void ChangeEnergy(int deltaEnergy)
 {
     Energy += deltaEnergy;
     if (Energy <= 0)
     {
         ShuttleEnergyLowEvent?.Invoke();
     }
     else if (Energy > 100)
     {
         Energy = 100;
     }
 }