IStreamControllerAPI.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #if (UNITY_STANDALONE || UNITY_EDITOR) && UNITY_ENABLE_STEAM_CONTROLLER_SUPPORT
  2. namespace UnityEngine.InputSystem.Steam
  3. {
  4. /// <summary>
  5. /// This is a wrapper around the Steamworks SDK controller API.
  6. /// </summary>
  7. /// <seealso href="https://partner.steamgames.com/doc/api/ISteamController"/>
  8. public interface ISteamControllerAPI
  9. {
  10. void RunFrame();
  11. int GetConnectedControllers(SteamHandle<SteamController>[] outHandles);
  12. SteamHandle<InputActionMap> GetActionSetHandle(string actionSetName);
  13. SteamHandle<InputAction> GetDigitalActionHandle(string actionName);
  14. SteamHandle<InputAction> GetAnalogActionHandle(string actionName);
  15. void ActivateActionSet(SteamHandle<SteamController> controllerHandle, SteamHandle<InputActionMap> actionSetHandle);
  16. SteamHandle<InputActionMap> GetCurrentActionSet(SteamHandle<SteamController> controllerHandle);
  17. void ActivateActionSetLayer(SteamHandle<SteamController> controllerHandle,
  18. SteamHandle<InputActionMap> actionSetLayerHandle);
  19. void DeactivateActionSetLayer(SteamHandle<SteamController> controllerHandle,
  20. SteamHandle<InputActionMap> actionSetLayerHandle);
  21. void DeactivateAllActionSetLayers(SteamHandle<SteamController> controllerHandle);
  22. int GetActiveActionSetLayers(SteamHandle<SteamController> controllerHandle,
  23. out SteamHandle<InputActionMap> handlesOut);
  24. SteamAnalogActionData GetAnalogActionData(SteamHandle<SteamController> controllerHandle,
  25. SteamHandle<InputAction> analogActionHandle);
  26. SteamDigitalActionData GetDigitalActionData(SteamHandle<SteamController> controllerHandle,
  27. SteamHandle<InputAction> digitalActionHandle);
  28. }
  29. public struct SteamDigitalActionData
  30. {
  31. public bool active { get; set; }
  32. public bool pressed { get; set; }
  33. }
  34. public struct SteamAnalogActionData
  35. {
  36. public bool active { get; set; }
  37. public Vector2 position { get; set; }
  38. }
  39. }
  40. #endif // (UNITY_STANDALONE || UNITY_EDITOR) && UNITY_ENABLE_STEAM_CONTROLLER_SUPPORT