#if MLA_INPUT_SYSTEM && UNITY_2019_4_OR_NEWER using Unity.MLAgents.Actuators; using UnityEngine.InputSystem; using UnityEngine.InputSystem.LowLevel; namespace Unity.MLAgents.Extensions.Input { /// /// Translates data from any control that extends from . /// public class FloatInputActionAdaptor : IRLActionInputAdaptor { /// public ActionSpec GetActionSpecForInputAction(InputAction action) { return ActionSpec.MakeContinuous(1); } /// public void WriteToInputEventForAction(InputEventPtr eventPtr, InputAction action, InputControl control, ActionSpec actionSpec, in ActionBuffers actionBuffers) { var val = actionBuffers.ContinuousActions[0]; control.WriteValueIntoEvent(val, eventPtr); } /// public void WriteToHeuristic(InputAction action, in ActionBuffers actionBuffers) { var actions = actionBuffers.ContinuousActions; var val = action.ReadValue(); actions[0] = val; } } } #endif // MLA_INPUT_SYSTEM && UNITY_2019_4_OR_NEWER