#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 a . /// public class IntegerInputActionAdaptor : IRLActionInputAdaptor { // TODO need to figure out how we can infer the branch size from here. /// public ActionSpec GetActionSpecForInputAction(InputAction action) { return ActionSpec.MakeDiscrete(2); } /// public void WriteToInputEventForAction(InputEventPtr eventPtr, InputAction action, InputControl control, ActionSpec actionSpec, in ActionBuffers actionBuffers) { var val = actionBuffers.DiscreteActions[0]; control.WriteValueIntoEvent(val, eventPtr); } /// public void WriteToHeuristic(InputAction action, in ActionBuffers actionBuffers) { var actions = actionBuffers.DiscreteActions; var val = action.ReadValue(); actions[0] = val; } } } #endif // MLA_INPUT_SYSTEM && UNITY_2019_4_OR_NEWER