public virtual void Update() { ProjectileSpawnPoint = projectileSpawnPoint.TranslatePoint(new Point(), Game.PlayArea); Rotate(LookAt(Target), Width / 2, Height / 1.25); if (Magazine.Count == 0) { Reload(); } if (Fire) { fireCounter++; if (CanShoot()) { FireProjectile(Target); fireCounter = 0; } } if (ProjectilesLeftAnimation != null) { ProjectilesLeftAnimation.Update(); } }