diff --git a/Facepunch.Steamworks/SteamInput.cs b/Facepunch.Steamworks/SteamInput.cs index f4c8dc3..e90a4f2 100644 --- a/Facepunch.Steamworks/SteamInput.cs +++ b/Facepunch.Steamworks/SteamInput.cs @@ -21,6 +21,14 @@ namespace Steamworks internal const int STEAM_CONTROLLER_MAX_COUNT = 16; + /// + /// Must be called when starting use of the ISteamInput interface. + /// + public static void Init( bool explicitlyCallRunFrame = false ) + { + Internal.Init( explicitlyCallRunFrame ); + } + /// /// You shouldn't really need to call this because it gets called by @@ -51,15 +59,38 @@ namespace Steamworks } - /// - /// Return an absolute path to the PNG image glyph for the provided digital action name. The current - /// action set in use for the controller will be used for the lookup. You should cache the result and - /// maintain your own list of loaded PNG assets. - /// - /// - /// - /// - public static string GetDigitalActionGlyph( Controller controller, string action ) + /// + /// Return an absolute path to the PNG image glyph for the provided analog action name. The current + /// action set in use for the controller will be used for the lookup. You should cache the result and + /// maintain your own list of loaded PNG assets. + /// + /// + /// + /// + public static string GetAnalogActionGlyph( Controller controller, string action ) + { + InputActionOrigin origin = InputActionOrigin.None; + + Internal.GetAnalogActionOrigins( + controller.Handle, + Internal.GetCurrentActionSet( controller.Handle ), + GetAnalogActionHandle( action ), + ref origin + ); + + return Internal.GetGlyphForActionOrigin_Legacy( origin ); + } + + + /// + /// Return an absolute path to the PNG image glyph for the provided digital action name. The current + /// action set in use for the controller will be used for the lookup. You should cache the result and + /// maintain your own list of loaded PNG assets. + /// + /// + /// + /// + public static string GetDigitalActionGlyph( Controller controller, string action ) { InputActionOrigin origin = InputActionOrigin.None; @@ -102,6 +133,49 @@ namespace Steamworks return Internal.GetGlyphSVGForActionOrigin( origin, 0 ); } + /// + /// Show the binding panel for the specified controller. + /// If the player is using Big Picture Mode the configuration will open in the overlay. + /// In desktop mode a popup window version of Big Picture will be created and open the configuration. + /// + /// true for success; false if overlay is disabled or unavailable. + public static bool ShowBindingPanel(Controller controller) + { + return Internal.ShowBindingPanel(controller.Handle); + } + + /// + /// Get the localized description of the button assigned to the specified digital action + /// + public static string GetDigitalActionDescription(Controller controller, string action) + { + InputActionOrigin origin = InputActionOrigin.None; + + Internal.GetDigitalActionOrigins( + controller.Handle, + Internal.GetCurrentActionSet( controller.Handle ), + GetDigitalActionHandle( action ), + ref origin + ); + return Internal.GetStringForActionOrigin( origin ); + } + + /// + /// Get the localized description of the joystick or gamepad assigned to the specified analog action + /// + public static string GetAnalogActionDescription( Controller controller, string action ) + { + InputActionOrigin origin = InputActionOrigin.None; + + Internal.GetAnalogActionOrigins( + controller.Handle, + Internal.GetCurrentActionSet( controller.Handle ), + GetAnalogActionHandle( action ), + ref origin + ); + return Internal.GetStringForActionOrigin( origin ); + } + internal static Dictionary DigitalHandles = new Dictionary(); internal static InputDigitalActionHandle_t GetDigitalActionHandle( string name ) { diff --git a/UnityPlugin/Facepunch.Steamworks.Posix.dll b/UnityPlugin/Facepunch.Steamworks.Posix.dll new file mode 100644 index 0000000..6689943 Binary files /dev/null and b/UnityPlugin/Facepunch.Steamworks.Posix.dll differ diff --git a/UnityPlugin/Facepunch.Steamworks.Win32.dll b/UnityPlugin/Facepunch.Steamworks.Win32.dll new file mode 100644 index 0000000..e4f4e5a Binary files /dev/null and b/UnityPlugin/Facepunch.Steamworks.Win32.dll differ diff --git a/UnityPlugin/Facepunch.Steamworks.Win64.dll b/UnityPlugin/Facepunch.Steamworks.Win64.dll new file mode 100644 index 0000000..603ff66 Binary files /dev/null and b/UnityPlugin/Facepunch.Steamworks.Win64.dll differ