public void FireBullet(GameTime gameTime)
        {
            double newtime          = gameTime.TotalGameTime.TotalSeconds;
            double dt               = newtime - m_lastShot;
            double secondsperbullet = 1.0 / m_firingRate;

            // valid fire (within firing rate)
            if (dt >= secondsperbullet)
            {
                m_lastShot = newtime;

                DotBullet bulletinstance = (DotBullet)BulletPool.GetAvailableBullet();
                bulletinstance.Initialize();
                bulletinstance.Position = spriteRef.Position;
                bulletinstance.Heading  = pPosition - spriteRef.Position;
                bulletinstance.Heading.Normalize();
                bulletinstance.Alive = true;
            }
        }