public static MoveInputs GetPlayerInputs(Transform player)
{
MoveInputs inputs = new MoveInputs();
float x = Controls.AverageValue(GameAxis.MoveX);
float y = Controls.AverageValue(GameAxis.MoveY);
Vector3 raw = Vector3.ClampMagnitude(new Vector3(x, 0, y), 1);
if (raw.magnitude > 0)
{
inputs.Turn = Utils.GetBearing(player.forward, Camera.main.transform.rotation * raw, Vector3.up);
inputs.Forward = 1;
}
m_walk = Controls.JustDown(GameButton.WalkToggle) ? !m_walk : m_walk;
inputs.Run = raw.magnitude > 0.75f && m_walk == Controls.IsDown(GameButton.Walk);
inputs.Jump = Controls.JustDown(GameButton.Jump);
return inputs;
}