/// <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); } }
/// <summary> /// Изменить энергию коробля в случае выстрела или с течением времени /// </summary> /// <param name="deltaEnergy">Величина изменения энергии</param> public void ChangeEnergy(int deltaEnergy) { Energy += deltaEnergy; if (Energy <= 0) { ShuttleEnergyLowEvent?.Invoke(); } else if (Energy > 100) { Energy = 100; } }