#if MLA_INPUT_SYSTEM using Unity.MLAgents.Actuators; using UnityEngine.InputSystem; using UnityEngine.InputSystem.LowLevel; namespace Unity.MLAgents.Extensions.Input { /// /// Implement this interface in order to customize how information is translated s /// and . /// public interface IRLActionInputAdaptor { /// /// Generate an for a given action which determines how data is translated between /// the and ML-Agents. /// /// The to based the from. /// An instance based off the information in the . ActionSpec GetActionSpecForInputAction(InputAction action); /// /// Translates data from the object to the . /// /// The Event pointer to write to. /// The action associated with this adaptor. /// The control which will write the event to the . /// The associated with this action and adaptor pair. /// The object to read from. void WriteToInputEventForAction(InputEventPtr eventPtr, InputAction action, InputControl control, ActionSpec actionSpec, in ActionBuffers actionBuffers); /// /// Writes data from the to the . /// /// The to read data from. /// The object to write data to. void WriteToHeuristic(InputAction action, in ActionBuffers actionBuffers); } } #endif // MLA_INPUT_SYSTEM