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()
};
}
}