Code/PlayerControllerPlus/Modes/MoveModePlus.Camera.cs
namespace Sandbox.MovementPlus;

partial class MoveModePlus
{
	public virtual Transform CalculateEyeTransform()
	{
		if ( Controller.ExtendedFeaturesEnabled
			&& Controller.TrueFirstPerson
			&& !Controller.ThirdPerson
			&& !Controller.IsProxy
			&& Controller.Renderer.IsValid() )
		{
			if ( Controller.Renderer.TryGetBoneTransform( "head", out var headTx ) )
			{
				var rot = Controller.EyeAngles.ToRotation();
				var offset = rot * Controller.TrueFirstPersonOffset;
				var transform = new Transform();
				transform.Position = headTx.Position + offset;
				transform.Rotation = rot;
				return transform;
			}
		}

		var fallback = new Transform();
		fallback.Position = Controller.WorldPosition + Vector3.Up * (Controller.CurrentHeight - Controller.EyeDistanceFromTop);
		fallback.Rotation = Controller.EyeAngles.ToRotation();
		return fallback;
	}

	public void UpdateCamera( CameraComponent cam )
	{

	}
}