internal void Fire(double gameTime)
        {
            if (gameTime < lastFire + fireCooldownTime)
            {
                return;
            }

            BodyReference body             = Body();
            Vector3       position         = body.Pose.Position.ToVector3();
            Quaternion    laserOrientation = PhysicUtils.DirectionsToQuaternion(TGCGame.camera.MouseDirection(position), upDirection);

            World.InstantiateLaser(position, -forward, laserOrientation, emitter, laserVolume);
            lastFire = gameTime;
        }
        protected void Fire(BodyReference body, GameTime gameTime)
        {
            double totalTime = gameTime.TotalGameTime.TotalMilliseconds;

            if (totalTime < LastFire + FireCooldownTime)
            {
                return;
            }

            Vector3    position         = body.Pose.Position.ToVector3();
            Quaternion rotation         = body.Pose.Orientation.ToQuaternion();
            Vector3    forward          = PhysicUtils.Forward(rotation);
            Quaternion laserOrientation = PhysicUtils.DirectionsToQuaternion(forward, Vector3.Up);

            World.InstantiateLaser(position, -forward, laserOrientation, Emitter, LaserVolume);
            LastFire = totalTime;
            FireCounter++;
        }
        internal void SecondaryFire(double gameTime, Vector2 mousePosition)
        {
            if (gameTime < lastFire + fireCooldownTime)
            {
                return;
            }

            BodyReference body = Body();

            Vector3    position         = body.Pose.Position.ToVector3();
            Quaternion laserOrientation = PhysicUtils.DirectionsToQuaternion(TGCGame.camera.MouseDirection(position), upDirection);
            Vector3    up   = PhysicUtils.Up(laserOrientation);
            Vector3    left = PhysicUtils.Left(laserOrientation);

            World.InstantiateLaser(position + up * 1.0f + left * 4.75459f, -forward, laserOrientation, emitter, laserVolume / 4);
            World.InstantiateLaser(position + up * 1.0f - left * 4.75459f, -forward, laserOrientation, emitter, laserVolume / 4);
            World.InstantiateLaser(position - up * 1.7f + left * 4.75459f, -forward, laserOrientation, emitter, laserVolume / 4);
            World.InstantiateLaser(position - up * 1.7f - left * 4.75459f, -forward, laserOrientation, emitter, laserVolume / 4);

            lastFire = gameTime;
        }