public void Tick(TickContext context)
        {
            if (!_playerShip.GetNodes().Any())
            {
                return;
            }
            var displacement = (_playerShip.GetNodes().First().GloalLocation - _transform.Location);
            var rotation     = -RotationHelper.GetAngle(displacement.X, displacement.Z) - (float)Math.PI / 2 + aimOffset;
            var rotVel       = 0f;

            if (_flightShip.Rotation > rotation + RotationRate)
            {
                rotVel -= 0.01f;
            }
            else if (_flightShip.Rotation < rotation - 0.01f)
            {
                rotVel = 0.01f;
            }
            _flightShip.Update(() =>
            {
                _flightShip.RotationalSpeed = rotVel;
                if (rotVel == 0)
                {
                    _flightShip.Rotation = rotation;
                }
            });
        }