Code/DemoCarController/DemoSeat.cs

A small seat component in the DemoCarController folder that derives from BaseChair and overrides CalculateEyeTransform to clamp the player's eyes and return a transform positioned at the chair eye position but using the player's current eye rotation.

using Sandbox;

namespace RedSnail.RoadTool;

[Icon("airline_seat_recline_normal")]
[Title("Demo - Seat")]
[Category("Demo")]
public sealed class DemoSeat : BaseChair
{
	public override Transform CalculateEyeTransform(PlayerController _Controller)
	{
		ClampEyes(_Controller);
		
		Transform eyeTransform = GetEyeTransform();
		
		return new Transform()
		{
			Position = eyeTransform.Position,
			Rotation = _Controller.EyeAngles.ToRotation()
		};
	}
}