diff options
| author | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
|---|---|---|
| committer | chai <215380520@qq.com> | 2024-05-19 16:05:01 +0800 |
| commit | c5f145786f4c6d2fe4bea831dfc16e52228920a5 (patch) | |
| tree | a6ead7ea8266c767d58ed0f816dcd7a1dd75bd65 /Rewired/Rewired.Demos/FallbackJoystickIdentificationDemo.cs | |
| parent | 48b64e573a1709dc923cb9162b55be0246b3ff63 (diff) | |
* move
Diffstat (limited to 'Rewired/Rewired.Demos/FallbackJoystickIdentificationDemo.cs')
| -rw-r--r-- | Rewired/Rewired.Demos/FallbackJoystickIdentificationDemo.cs | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/Rewired/Rewired.Demos/FallbackJoystickIdentificationDemo.cs b/Rewired/Rewired.Demos/FallbackJoystickIdentificationDemo.cs deleted file mode 100644 index 3213b71..0000000 --- a/Rewired/Rewired.Demos/FallbackJoystickIdentificationDemo.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System.Collections.Generic; -using UnityEngine; - -namespace Rewired.Demos; - -[AddComponentMenu("")] -public class FallbackJoystickIdentificationDemo : MonoBehaviour -{ - private const float windowWidth = 250f; - - private const float windowHeight = 250f; - - private const float inputDelay = 1f; - - private bool identifyRequired; - - private Queue<Joystick> joysticksToIdentify; - - private float nextInputAllowedTime; - - private GUIStyle style; - - private void Awake() - { - if (ReInput.unityJoystickIdentificationRequired) - { - ReInput.ControllerConnectedEvent += JoystickConnected; - ReInput.ControllerDisconnectedEvent += JoystickDisconnected; - IdentifyAllJoysticks(); - } - } - - private void JoystickConnected(ControllerStatusChangedEventArgs args) - { - IdentifyAllJoysticks(); - } - - private void JoystickDisconnected(ControllerStatusChangedEventArgs args) - { - IdentifyAllJoysticks(); - } - - public void IdentifyAllJoysticks() - { - Reset(); - if (ReInput.controllers.joystickCount != 0) - { - Joystick[] joysticks = ReInput.controllers.GetJoysticks(); - if (joysticks != null) - { - identifyRequired = true; - joysticksToIdentify = new Queue<Joystick>(joysticks); - SetInputDelay(); - } - } - } - - private void SetInputDelay() - { - nextInputAllowedTime = Time.time + 1f; - } - - private void OnGUI() - { - if (!identifyRequired) - { - return; - } - if (joysticksToIdentify == null || joysticksToIdentify.Count == 0) - { - Reset(); - return; - } - Rect screenRect = new Rect((float)Screen.width * 0.5f - 125f, (float)Screen.height * 0.5f - 125f, 250f, 250f); - GUILayout.Window(0, screenRect, DrawDialogWindow, "Joystick Identification Required"); - GUI.FocusWindow(0); - if (!(Time.time < nextInputAllowedTime) && ReInput.controllers.SetUnityJoystickIdFromAnyButtonOrAxisPress(joysticksToIdentify.Peek().id, 0.8f, positiveAxesOnly: false)) - { - joysticksToIdentify.Dequeue(); - SetInputDelay(); - if (joysticksToIdentify.Count == 0) - { - Reset(); - } - } - } - - private void DrawDialogWindow(int windowId) - { - if (identifyRequired) - { - if (style == null) - { - style = new GUIStyle(GUI.skin.label); - style.wordWrap = true; - } - GUILayout.Space(15f); - GUILayout.Label("A joystick has been attached or removed. You will need to identify each joystick by pressing a button on the controller listed below:", style); - Joystick joystick = joysticksToIdentify.Peek(); - GUILayout.Label("Press any button on \"" + joystick.name + "\" now.", style); - GUILayout.FlexibleSpace(); - if (GUILayout.Button("Skip")) - { - joysticksToIdentify.Dequeue(); - } - } - } - - private void Reset() - { - joysticksToIdentify = null; - identifyRequired = false; - } -} |
