예제 #1
0
        public AbstractProjectile Get()
        {
            if (_queue.Count > 0)
            {
                return(_queue.Dequeue());
            }

            var projectileScene = ProjectileFactory.CreateBullet();

            return(projectileScene.Instance() as AbstractProjectile);
        }
예제 #2
0
 /// <summary>
 ///   Sets all instance variables to standard values.
 /// </summary>
 private void InitStandardValues()
 {
     Projectile          = ProjectileFactory.CreateBullet();
     _timer              = GetNode("Timer") as Timer;
     _timer.Autostart    = false;
     _timer.OneShot      = true;
     SecondsBetweenShots = 0.4f;
     MagSize             = 20;
     Ammo = MagSize;
     ProjectilesPerShot    = 8;
     ProjectileShooterName = "Abstract Projectile Shooter";
     MaxOffsetAngle        = 3;
     _knockbackForce       = 50;
 }