#if (UNITY_STANDALONE || UNITY_EDITOR) && UNITY_ENABLE_STEAM_CONTROLLER_SUPPORT namespace UnityEngine.InputSystem.Steam { /// /// This is a wrapper around the Steamworks SDK controller API. /// /// public interface ISteamControllerAPI { void RunFrame(); int GetConnectedControllers(SteamHandle[] outHandles); SteamHandle GetActionSetHandle(string actionSetName); SteamHandle GetDigitalActionHandle(string actionName); SteamHandle GetAnalogActionHandle(string actionName); void ActivateActionSet(SteamHandle controllerHandle, SteamHandle actionSetHandle); SteamHandle GetCurrentActionSet(SteamHandle controllerHandle); void ActivateActionSetLayer(SteamHandle controllerHandle, SteamHandle actionSetLayerHandle); void DeactivateActionSetLayer(SteamHandle controllerHandle, SteamHandle actionSetLayerHandle); void DeactivateAllActionSetLayers(SteamHandle controllerHandle); int GetActiveActionSetLayers(SteamHandle controllerHandle, out SteamHandle handlesOut); SteamAnalogActionData GetAnalogActionData(SteamHandle controllerHandle, SteamHandle analogActionHandle); SteamDigitalActionData GetDigitalActionData(SteamHandle controllerHandle, SteamHandle digitalActionHandle); } public struct SteamDigitalActionData { public bool active { get; set; } public bool pressed { get; set; } } public struct SteamAnalogActionData { public bool active { get; set; } public Vector2 position { get; set; } } } #endif // (UNITY_STANDALONE || UNITY_EDITOR) && UNITY_ENABLE_STEAM_CONTROLLER_SUPPORT