#if MLA_INPUT_SYSTEM using UnityEngine.InputSystem; namespace Unity.MLAgents.Extensions.Input { /// /// Implement this interface if you are listening to C# events from the generated C# class from the /// . This interface works with the in order /// to allow ML-Agents to simulate input actions based on the instance of the /// used to listen to events. If you implement this interface the will use /// what is returned from as the asset to base it's simulated input for. /// Otherwise, the will look for the component /// and use the asset from there. If you have multiple components handling PlayerInput on the same GameObject /// they will need to share the same instance of the in order to get the simulated /// input. /// public interface IInputActionAssetProvider { /// /// Returns the instance being from the generated C# class of the /// in order to correctly fire events when simulating input from ML-Agents. /// /// The instance of the you are listening for events on. (InputActionAsset, IInputActionCollection2) GetInputActionAsset(); } } #endif // MLA_INPUT_SYSTEM