Player/Car/CarInputData.cs

Plain data struct representing per-frame car input. Stores throttle, steer, and boolean flags for drift, boost, and use-item for consumption by car movement and inventory logic.

namespace Machines.Player;

/// <summary>
/// Per-frame input state for a car. Produced by an input source, consumed by CarMovement.
/// </summary>
public struct CarInputData
{
	/// <summary>
	/// Throttle value from -1 (full brake/reverse) to 1 (full acceleration).
	/// </summary>
	public float Throttle;

	/// <summary>
	/// Steering value from -1 (left) to 1 (right).
	/// </summary>
	public float Steer;

	/// <summary>
	/// True while the drift action is held.
	/// </summary>
	public bool Drift;

	/// <summary>
	/// True while the boost action is held.
	/// </summary>
	public bool Boost;

	/// <summary>
	/// True while the use-item action is held; activation is rising-edge (see CarInventory)
	/// </summary>
	public bool UseItem;
}