diff --git a/Assets/QA/Tests/XRDeviceActions/XRDeviceActions.asmdef b/Assets/QA/Tests/XRDeviceActions/XRDeviceActions.asmdef index 6f7b4c56d9..85ddb249ee 100644 --- a/Assets/QA/Tests/XRDeviceActions/XRDeviceActions.asmdef +++ b/Assets/QA/Tests/XRDeviceActions/XRDeviceActions.asmdef @@ -1,9 +1,10 @@ { "name": "XRDeviceActions", + "rootNamespace": "", "references": [ - "GUID:28d8685fae23c21419ef42894cb9b075", - "GUID:75469ad4d38634e559750d17036d5f7c", - "GUID:2bafac87e7f4b9b418d9448d219b01ab" + "GUID:2bafac87e7f4b9b418d9448d219b01ab", + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Samples/InGameHints/Unity.InputSystem.InGameHints.asmdef b/Assets/Samples/InGameHints/Unity.InputSystem.InGameHints.asmdef index c477bc0bbb..8e3620c7d6 100644 --- a/Assets/Samples/InGameHints/Unity.InputSystem.InGameHints.asmdef +++ b/Assets/Samples/InGameHints/Unity.InputSystem.InGameHints.asmdef @@ -1,8 +1,10 @@ { "name": "Unity.InputSystem.InGameHints", + "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c", - "GUID:2bafac87e7f4b9b418d9448d219b01ab" + "GUID:2bafac87e7f4b9b418d9448d219b01ab", + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Samples/InputRecorder/Unity.InputSystem.Recorder.asmdef b/Assets/Samples/InputRecorder/Unity.InputSystem.Recorder.asmdef index c32f4f6685..9f33afec5c 100644 --- a/Assets/Samples/InputRecorder/Unity.InputSystem.Recorder.asmdef +++ b/Assets/Samples/InputRecorder/Unity.InputSystem.Recorder.asmdef @@ -1,9 +1,9 @@ { "name": "Unity.InputSystem.Recorder", + "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c" + "GUID:d46adbc216ac24e9a86f26d7a54b2384" ], - "optionalUnityReferences": [], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": true, @@ -11,5 +11,6 @@ "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], - "versionDefines": [] + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/Samples/ProjectWideActions/ProjectWideActions.asmdef b/Assets/Samples/ProjectWideActions/ProjectWideActions.asmdef index cc6ae12bcd..a758f37af9 100644 --- a/Assets/Samples/ProjectWideActions/ProjectWideActions.asmdef +++ b/Assets/Samples/ProjectWideActions/ProjectWideActions.asmdef @@ -2,7 +2,8 @@ "name": "ProjectWideActions", "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c" + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Samples/RebindingUI/Unity.InputSystem.RebindingUI.asmdef b/Assets/Samples/RebindingUI/Unity.InputSystem.RebindingUI.asmdef index df339e33dc..4b59a02342 100644 --- a/Assets/Samples/RebindingUI/Unity.InputSystem.RebindingUI.asmdef +++ b/Assets/Samples/RebindingUI/Unity.InputSystem.RebindingUI.asmdef @@ -1,9 +1,10 @@ { "name": "Unity.InputSystem.RebindingUI", + "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c" + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], - "optionalUnityReferences": [], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": false, @@ -11,5 +12,6 @@ "precompiledReferences": [], "autoReferenced": false, "defineConstraints": [], - "versionDefines": [] + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/Samples/UIvsGameInput/Unity.InputSystem.UIvsGameInput.asmdef b/Assets/Samples/UIvsGameInput/Unity.InputSystem.UIvsGameInput.asmdef index 29e54b1307..6a998104ef 100644 --- a/Assets/Samples/UIvsGameInput/Unity.InputSystem.UIvsGameInput.asmdef +++ b/Assets/Samples/UIvsGameInput/Unity.InputSystem.UIvsGameInput.asmdef @@ -1,8 +1,10 @@ { "name": "UnityEngine.InputSystem.Samples.UIvsGameInput", + "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c", - "GUID:2bafac87e7f4b9b418d9448d219b01ab" + "GUID:2bafac87e7f4b9b418d9448d219b01ab", + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Samples/Visualizers/Unity.InputSystem.Visualizers.asmdef b/Assets/Samples/Visualizers/Unity.InputSystem.Visualizers.asmdef index ef100365c6..ea9e97fa2a 100644 --- a/Assets/Samples/Visualizers/Unity.InputSystem.Visualizers.asmdef +++ b/Assets/Samples/Visualizers/Unity.InputSystem.Visualizers.asmdef @@ -1,9 +1,10 @@ { "name": "InputSystem.Samples.Visualizers", + "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c" + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], - "optionalUnityReferences": [], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": true, @@ -11,5 +12,6 @@ "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], - "versionDefines": [] + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/Tests/InputSystem.Editor/Unity.InputSystem.Tests.Editor.asmdef b/Assets/Tests/InputSystem.Editor/Unity.InputSystem.Tests.Editor.asmdef index 7c2df40249..c60e7404c2 100644 --- a/Assets/Tests/InputSystem.Editor/Unity.InputSystem.Tests.Editor.asmdef +++ b/Assets/Tests/InputSystem.Editor/Unity.InputSystem.Tests.Editor.asmdef @@ -6,7 +6,8 @@ "UnityEditor.TestRunner", "Unity.InputSystem", "Unity.InputSystem.TestFramework", - "Unity.InputSystem.TestSupport" + "Unity.InputSystem.TestSupport", + "Unity.InputSystem.Editor" ], "includePlatforms": [ "Editor" diff --git a/Assets/Tests/InputSystem.TestSupport/Unity.InputSystem.TestSupport.asmdef b/Assets/Tests/InputSystem.TestSupport/Unity.InputSystem.TestSupport.asmdef index 25833308dd..cbb33b0646 100644 --- a/Assets/Tests/InputSystem.TestSupport/Unity.InputSystem.TestSupport.asmdef +++ b/Assets/Tests/InputSystem.TestSupport/Unity.InputSystem.TestSupport.asmdef @@ -2,7 +2,8 @@ "name": "Unity.InputSystem.TestSupport", "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c" + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Tests/InputSystem/APIVerificationTests.cs b/Assets/Tests/InputSystem/APIVerificationTests.cs index 502279c8da..2d818a2f5f 100644 --- a/Assets/Tests/InputSystem/APIVerificationTests.cs +++ b/Assets/Tests/InputSystem/APIVerificationTests.cs @@ -212,12 +212,12 @@ internal static bool IgnoreTypeForDocsByNamespace(string @namespace) [Test] [Category("API")] - [TestCase("Keyboard", "Devices/Precompiled/FastKeyboard.cs")] - [TestCase("Mouse", "Devices/Precompiled/FastMouse.cs")] - [TestCase("Touchscreen", "Devices/Precompiled/FastTouchscreen.cs")] + [TestCase("Keyboard", "Runtime/Devices/Precompiled/FastKeyboard.cs")] + [TestCase("Mouse", "Runtime/Devices/Precompiled/FastMouse.cs")] + [TestCase("Touchscreen", "Runtime/Devices/Precompiled/FastTouchscreen.cs")] public void API_PrecompiledLayoutsAreUpToDate(string layoutName, string filePath) { - var fullPath = "Packages/com.unity.inputsystem/InputSystem/" + filePath; + var fullPath = "Packages/com.unity.inputsystem/" + filePath; var existingCode = File.ReadAllText(fullPath); // May be a git checkout with CRLF auto-conversion on. Strip all '\r' characters. @@ -800,7 +800,7 @@ public void API_DocumentationManualDoesNotHaveMissingOrUnusedImages() [Category("API")] public void API_DefaultInputActionsClassIsUpToDate() { - const string assetFile = "Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/DefaultInputActions.inputactions"; + const string assetFile = "Packages/com.unity.inputsystem/Runtime/Plugins/PlayerInput/DefaultInputActions.inputactions"; Assert.That(File.Exists(assetFile), Is.True); var actions = new DefaultInputActions(); diff --git a/Assets/Tests/InputSystem/CoreTests_Analytics.cs b/Assets/Tests/InputSystem/CoreTests_Analytics.cs index a86829a939..287b3bd840 100644 --- a/Assets/Tests/InputSystem/CoreTests_Analytics.cs +++ b/Assets/Tests/InputSystem/CoreTests_Analytics.cs @@ -565,8 +565,8 @@ public void Analytics_ShouldReportBuildAnalytics_WhenHavingSettingsAssetWithCust [TestCase(InputSystemComponent.PlayerInputManager, typeof(PlayerInputManager))] [TestCase(InputSystemComponent.InputSystemUIInputModule, typeof(InputSystemUIInputModule))] [TestCase(InputSystemComponent.StandaloneInputModule, typeof(StandaloneInputModule))] - [TestCase(InputSystemComponent.VirtualMouseInput, typeof(VirtualMouseInput))] - [TestCase(InputSystemComponent.TouchSimulation, typeof(TouchSimulation))] + // [TestCase(InputSystemComponent.VirtualMouseInput, typeof(VirtualMouseInput))] + // [TestCase(InputSystemComponent.TouchSimulation, typeof(TouchSimulation))] [TestCase(InputSystemComponent.OnScreenButton, typeof(OnScreenButton))] [TestCase(InputSystemComponent.OnScreenStick, typeof(OnScreenStick))] [Category("Analytics")] diff --git a/Assets/Tests/InputSystem/CoreTests_Editor.cs b/Assets/Tests/InputSystem/CoreTests_Editor.cs index 273d9b1bda..86fc6f031b 100644 --- a/Assets/Tests/InputSystem/CoreTests_Editor.cs +++ b/Assets/Tests/InputSystem/CoreTests_Editor.cs @@ -333,12 +333,12 @@ public void Editor_DomainReload_CanRemoveDevicesDuringDomainReload() InputSystem.AddDevice(); // just to make sure keyboard stays as-is currentTime = 1; - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); runtime.ReportInputDeviceRemoved(device); currentTime = 2; - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); InputSystem.Update(); @@ -2632,7 +2632,7 @@ public void Editor_CanListOptionalControlsForLayout() [Category("Editor")] public void Editor_CanIconsForLayouts() { - const string kIconPath = "Packages/com.unity.inputsystem/InputSystem/Editor/Icons/"; + const string kIconPath = "Packages/com.unity.inputsystem/Editor/Icons/"; var skinPrefix = EditorGUIUtility.isProSkin ? "d_" : ""; var scale = Mathf.Clamp((int)EditorGUIUtility.pixelsPerPoint, 0, 4); var scalePostFix = scale > 1 ? $"@{scale}x" : ""; @@ -2822,10 +2822,10 @@ public void Editor_InputEventsOccurringWhileGoingIntoPlayMode_AreDiscarded() // We need to actually pass time and have a non-zero start time for this to work. currentTime = 1; - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); InputSystem.QueueStateEvent(mouse, new MouseState { position = new Vector2(234, 345) }); currentTime = 2; - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); InputSystem.Update(); @@ -2915,8 +2915,8 @@ public void Editor_InitializeInEditor_EnablesProjectWideActions() Assert.That(InputSystem.actions.enabled, Is.True); // Calling exit play mode callbacks will disable them - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); Assert.That(InputSystem.actions.enabled, Is.False); @@ -2927,8 +2927,8 @@ public void Editor_InitializeInEditor_EnablesProjectWideActions() // `InputSystem.InitializeInEditor()` is called. Before this test was introduced, project-wide actions were // enabled after entering play mode again which would lead to a different behavior than Player // builds. - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); Assert.That(InputSystem.actions.enabled, Is.False); } @@ -2946,14 +2946,14 @@ public void Editor_LeavingPlayMode_DestroysAllActionStates() InputSystem.AddDevice(); // Enter play mode. - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); // This simulates enabling project-wide actions, which is done before just before entering play mode, // called from InputSystem.InitializeInEditor(). if (InputSystem.actions) InputSystem.actions.Enable(); - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); DisableProjectWideActions(); @@ -2965,8 +2965,8 @@ public void Editor_LeavingPlayMode_DestroysAllActionStates() Assert.That(InputSystem.s_Manager.m_StateChangeMonitors[0].count, Is.EqualTo(1)); // Exit play mode. - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); Assert.That(InputActionState.s_GlobalState.globalList.length, Is.Zero); // Won't get removed, just cleared. @@ -2980,8 +2980,8 @@ public void Editor_LeavingPlayMode_RemovesAllInputUsersAndStopsListeningForUnpai var gamepad = InputSystem.AddDevice(); // Enter play mode. - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); var user = InputUser.PerformPairingWithDevice(gamepad); ++InputUser.listenForUnpairedDeviceActivity; @@ -2991,8 +2991,8 @@ public void Editor_LeavingPlayMode_RemovesAllInputUsersAndStopsListeningForUnpai Assert.That(InputUser.all, Has.Count.EqualTo(1)); // Exit play mode. - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); Assert.That(user.valid, Is.False); Assert.That(InputUser.all, Has.Count.Zero); @@ -3017,7 +3017,7 @@ public void Editor_LeavingPlayMode_ReenablesAllDevicesTemporarilyDisabledDueToFo Assert.That(gamepad.enabled, Is.False); - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); Assert.That(gamepad.enabled, Is.True); Assert.That(gamepad.disabledWhileInBackground, Is.False); @@ -3087,15 +3087,15 @@ private void AssertAssetIsUnmodifiedAfterExitingPlayMode(Action(m_TestAssetPath); action?.Invoke(asset); // Exit play mode. - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredEditMode); var actualAsset = AssetDatabase.LoadAssetAtPath(m_TestAssetPath); Assert.That(actualAsset.ToJson(), Is.EqualTo(originalJson), message); diff --git a/Assets/Tests/InputSystem/CoreTests_ProjectWideActions.cs b/Assets/Tests/InputSystem/CoreTests_ProjectWideActions.cs index 6b704cbfe5..997b11e14b 100644 --- a/Assets/Tests/InputSystem/CoreTests_ProjectWideActions.cs +++ b/Assets/Tests/InputSystem/CoreTests_ProjectWideActions.cs @@ -163,7 +163,7 @@ public void ProjectWideActions_CanEnableCurrentActionMapOfPlayerInput(string act Assert.That(ReferenceEquals(playerInput.actions, InputSystem.actions)); #if UNITY_EDITOR - InputSystem.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.ExitingEditMode); #endif // This makes sure to call PlayerInput.OnEnable() @@ -180,7 +180,7 @@ public void ProjectWideActions_CanEnableCurrentActionMapOfPlayerInput(string act // We do this on the editor to make sure project-wide actions maintain the enabled state // after entering PlayMode. #if UNITY_EDITOR - InputSystem.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); + InputSystemEditorInitializer.OnPlayModeChange(PlayModeStateChange.EnteredPlayMode); Assert.That(playerInput.actions.enabled, Is.EqualTo(expectedResult)); #endif diff --git a/Assets/Tests/InputSystem/Plugins/EnhancedTouchTests.cs b/Assets/Tests/InputSystem/Plugins/EnhancedTouchTests.cs index 29a11eb22e..7bc3eb6f7f 100644 --- a/Assets/Tests/InputSystem/Plugins/EnhancedTouchTests.cs +++ b/Assets/Tests/InputSystem/Plugins/EnhancedTouchTests.cs @@ -1,1185 +1,1185 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.InputSystem; -using UnityEngine.InputSystem.Controls; -using UnityEngine.InputSystem.EnhancedTouch; -using UnityEngine.InputSystem.LowLevel; -using UnityEngine.InputSystem.Utilities; -using UnityEngine.TestTools.Utils; -using Touch = UnityEngine.InputSystem.EnhancedTouch.Touch; -using Property = NUnit.Framework.PropertyAttribute; -using TouchPhase = UnityEngine.InputSystem.TouchPhase; - -#if UNITY_EDITOR -using UnityEngine.InputSystem.Editor; -#endif - -internal class EnhancedTouchTests : CoreTestsFixture -{ - private TouchSimulation m_OldTouchSimulationInstance; - - public override void Setup() - { - base.Setup(); - - // Disable() will not reset this so default initialize it here. - Touch.s_GlobalState.historyLengthPerFinger = 64; - - if (!TestContext.CurrentContext.Test.Properties.ContainsKey("EnhancedTouchDisabled")) - { - InputSystem.AddDevice(); - EnhancedTouchSupport.Enable(); - } - - // Make sure we don't run into interference with a TouchSimulation instance that may - // already be in place. - m_OldTouchSimulationInstance = TouchSimulation.s_Instance; - TouchSimulation.s_Instance = null; - } - - public override void TearDown() - { - EnhancedTouchSupport.Disable(); - - // Make sure cleanup really did clean up. - Assert.That(Touch.s_GlobalState.touchscreens.length, Is.EqualTo(0)); - Assert.That(Touch.s_GlobalState.playerState, Is.EqualTo(default(Touch.FingerAndTouchState))); - #if UNITY_EDITOR - Assert.That(Touch.s_GlobalState.editorState, Is.EqualTo(default(Touch.FingerAndTouchState))); - #endif - - // Some state is kept alive in-between Disable/Enable. Manually clean it out. - Touch.s_GlobalState.onFingerDown = default; - Touch.s_GlobalState.onFingerUp = default; - Touch.s_GlobalState.onFingerMove = default; - - TouchSimulation.Destroy(); - TouchSimulation.s_Instance = m_OldTouchSimulationInstance; - m_OldTouchSimulationInstance = null; - - base.TearDown(); - } - - [Test] - [Category("EnhancedTouch")] - [Property("EnhancedTouchDisabled", 1)] - public void EnhancedTouch_IsDisabledByDefault() - { - Assert.That(EnhancedTouchSupport.enabled, Is.False); - } - - [Test] - [Category("EnhancedTouch")] - [Property("EnhancedTouchDisabled", 1)] - public void EnhancedTouch_ThrowsExceptionWhenNotEnabled() - { - Assert.That(() => Touch.activeFingers, Throws.InvalidOperationException); - Assert.That(() => Touch.activeTouches, Throws.InvalidOperationException); - Assert.That(() => Touch.fingers, Throws.InvalidOperationException); - Assert.That(() => Touch.screens, Throws.InvalidOperationException); - } - - [Test] - [Category("EnhancedTouch")] - [Property("EnhancedTouchDisabled", 1)] - public void EnhancedTouch_CanBeDisabledAndEnabled() - { - InputSystem.AddDevice(); - - EnhancedTouchSupport.Enable(); - Assert.That(EnhancedTouchSupport.enabled, Is.True); - - EnhancedTouchSupport.Disable(); - Assert.That(EnhancedTouchSupport.enabled, Is.False); - } - - [Test] - [Category("EnhancedTouch")] - [Property("EnhancedTouchDisabled", 1)] - public void EnhancedTouch_CanBeDisabledAndEnabled_WithoutTouchscreenPresent() - { - EnhancedTouchSupport.Enable(); - Assert.That(EnhancedTouchSupport.enabled, Is.True); - - EnhancedTouchSupport.Disable(); - Assert.That(EnhancedTouchSupport.enabled, Is.False); - } - - // The following tests deal with the fact that the input system potentially maintains more than one view on input - // because it concurrently supports input state queries in fixed update, dynamic/manual update, and editor updates. - // For the touch system, this means that we have to potentially track several different versions of state, too. - // The tests here go through the various combinations and make sure that Touch captures information correctly. - #region Update Types / Modes - - [Test] - [Category("EnhancedTouch")] - [TestCase(InputSettings.UpdateMode.ProcessEventsManually, InputUpdateType.Manual)] - [TestCase(InputSettings.UpdateMode.ProcessEventsInDynamicUpdate, InputUpdateType.Dynamic)] - [TestCase(InputSettings.UpdateMode.ProcessEventsInFixedUpdate, InputUpdateType.Fixed)] - public void EnhancedTouch_SupportsInputUpdateIn(InputSettings.UpdateMode updateMode, InputUpdateType updateType) - { - ResetTime(); - - InputSystem.settings.updateMode = updateMode; - runtime.currentTimeForFixedUpdate += Time.fixedDeltaTime; - BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); - InputSystem.Update(updateType); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].screenPosition, - Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); - } - - #if UNITY_EDITOR - [Test] - [Category("EnhancedTouch")] - [TestCase(InputSettings.UpdateMode.ProcessEventsManually)] - [TestCase(InputSettings.UpdateMode.ProcessEventsInDynamicUpdate)] - [TestCase(InputSettings.UpdateMode.ProcessEventsInFixedUpdate)] - public void EnhancedTouch_SupportsEditorUpdates(InputSettings.UpdateMode updateMode) - { - ResetTime(); - - InputSystem.settings.editorInputBehaviorInPlayMode = default; - - // To better observe that play mode and edit mode state is indeed independent and handled - // correctly, suppress resetting of the touch device when focus is lost to the player. - runtime.runInBackground = true; - SetCanRunInBackground(Touchscreen.current); - - InputSystem.settings.updateMode = updateMode; - runtime.currentTimeForFixedUpdate += Time.fixedDeltaTime; - // Run one player update with data. - BeginTouch(1, new Vector2(0.123f, 0.234f)); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - - // And make sure we're not seeing the data in the editor. - runtime.PlayerFocusLost(); - InputSystem.Update(InputUpdateType.Editor); - - Assert.That(Touch.activeTouches, Is.Empty); - - // Feed some data into editor state. - BeginTouch(2, new Vector2(0.234f, 0.345f), queueEventOnly: true); - InputSystem.Update(InputUpdateType.Editor); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(2)); - - // Switch back to player. - runtime.PlayerFocusGained(); - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - } - - #endif - - #endregion - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanGetActiveTouches() - { - // Begin and move in same frame. - BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); - // Begin only. - BeginTouch(2, new Vector2(0.345f, 0.456f), queueEventOnly: true); - // Begin, move, and end in same frame. - BeginTouch(3, new Vector2(0.456f, 0.567f), queueEventOnly: true); - MoveTouch(3, new Vector2(0.111f, 0.222f), queueEventOnly: true); // This one should get ignored. - EndTouch(3, new Vector2(0.567f, 0.678f), queueEventOnly: true); - // Begin only but reusing previous touch ID. - BeginTouch(3, new Vector2(0.678f, 0.789f), queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(4)); - - // When we begin and move a touch in the same frame, the phase should be Began, *NOT* Moved. - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Began) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Began) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - // A touch that begins and ends in the same frame, will see a Began in the current frame and a separate Ended in the next - // (even though there was no actual activity on the touch that frame). - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Began) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.456f, 0.567f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Began) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(4)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Moved) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - // Ended record for touch touch #3 that began and ended in previous frame. - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Ended) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.567f, 0.678f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(default(Vector2))); - - EndTouch(3, new Vector2(0.111f, 0.222f), queueEventOnly: true); - EndTouch(2, new Vector2(0.222f, 0.333f), queueEventOnly: true); - EndTouch(1, new Vector2(0.333f, 0.444f), queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Ended) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(new Vector2(0.099f, 0.099f)).Using(Vector2EqualityComparer.Instance)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Ended) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.222f, 0.333f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(new Vector2(-0.123f, -0.123f)).Using(Vector2EqualityComparer.Instance)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Ended) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.111f, 0.222f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("delta").EqualTo(new Vector2(-0.567f, -0.567f)).Using(Vector2EqualityComparer.Instance)); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Is.Empty); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_DeltasInActiveTouchesAccumulateAndReset() - { - // Only Began in frame. - BeginTouch(1, new Vector2(0.111f, 0.222f), queueEventOnly: true); - // Began and Moved in same frame. - BeginTouch(2, new Vector2(0.222f, 0.333f), queueEventOnly: true); - MoveTouch(2, new Vector2(0.333f, 0.444f), queueEventOnly: true); - // Began and Ended in same frame. - BeginTouch(3, new Vector2(0.123f, 0.234f), queueEventOnly: true); - EndTouch(3, new Vector2(0.234f, 0.345f), queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Began) - .And.With.Property("delta").EqualTo(default(Vector2)) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.111f, 0.222f))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Began) - .And.With.Property("delta").EqualTo(default(Vector2)) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.222f, 0.333f))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Began) - .And.With.Property("delta").EqualTo(default(Vector2)) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.123f, 0.234f))); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); // Touch #3 ends this frame. - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("delta").EqualTo(default(Vector2)) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.111f, 0.222f))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Moved) - .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(3) - .And.With.Property("phase").EqualTo(TouchPhase.Ended) - .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f))); - - MoveTouch(1, new Vector2(0.444f, 0.555f), queueEventOnly: true); // Generates delta to (0.111,0.111)! - MoveTouch(1, new Vector2(0.555f, 0.666f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.666f, 0.777f), queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Moved) - .And.With.Property("delta").EqualTo(new Vector2(0.555f, 0.555f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.666f, 0.777f))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("delta").EqualTo(default(Vector2)) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); - - MoveTouch(1, new Vector2(0.777f, 0.888f), queueEventOnly: true); - EndTouch(1, new Vector2(0.888f, 0.999f), queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(1) - .And.With.Property("phase").EqualTo(TouchPhase.Ended) - .And.With.Property("delta").EqualTo(new Vector2(0.222f, 0.222f)).Using(Vector2EqualityComparer.Instance) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.888f, 0.999f))); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("delta").EqualTo(default(Vector2)) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - - Assert.That(Touch.activeTouches, Has.Exactly(1) - .With.Property("touchId").EqualTo(2) - .And.With.Property("phase").EqualTo(TouchPhase.Stationary) - .And.With.Property("delta").EqualTo(default(Vector2)) - .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); - } - - // Unlike when looking at activeTouches (given that "active" is a frame-to-frame concept here) - // when looking at touch history, we're looking at values the touches had when they were reported. - // Thus we don't want accumulation and resetting (which again are frame-to-frame kind of mechanics). - [Test] - [Category("EnhancedTouch")] - [TestCase(false)] - [TestCase(true)] - public void EnhancedTouch_DeltasInTouchHistoryDoNotAccumulateAndReset_WithEventMergingSetTo(bool mergeRedundantEvents) - { - InputSystem.settings.disableRedundantEventsMerging = !mergeRedundantEvents; - - BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.345f, 0.456f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.456f, 0.567f), queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeFingers[0].touchHistory.Count, Is.EqualTo(mergeRedundantEvents ? 3 : 4)); - - if (mergeRedundantEvents) - { - // Event merging adds deltas inside - Assert.That(Touch.activeFingers[0].touchHistory[0].delta, - Is.EqualTo(new Vector2(0.222f, 0.222f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeFingers[0].touchHistory[1].delta, - Is.EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); - } - else - { - Assert.That(Touch.activeFingers[0].touchHistory[0].delta, - Is.EqualTo(new Vector2(0.222f, 0.222f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeFingers[0].touchHistory[1].delta, - Is.EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeFingers[0].touchHistory[2].delta, - Is.EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); - } - - Assert.That(Touch.activeFingers[0].touchHistory.Last().delta, - Is.EqualTo(new Vector2()).Using(Vector2EqualityComparer.Instance)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanCheckForTaps() - { - BeginTouch(1, new Vector2(123, 234)); - - Assert.That(Touch.activeTouches[0].isTap, Is.False); - Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(0)); - - EndTouch(1, new Vector2(123, 234)); - - Assert.That(Touch.activeTouches[0].isTap, Is.True); - Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(1)); - Assert.That(Touch.fingers[0].touchHistory, Has.Count.EqualTo(2)); - Assert.That(Touch.fingers[0].touchHistory[0].isTap, Is.True); - Assert.That(Touch.fingers[0].touchHistory[1].isTap, Is.False); - Assert.That(Touch.fingers[0].touchHistory[0].tapCount, Is.EqualTo(1)); - Assert.That(Touch.fingers[0].touchHistory[1].tapCount, Is.EqualTo(0)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanGetStartPositionAndTimeOfTouch() - { - currentTime = 0.111; - BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); - currentTime = 0.222; - MoveTouch(1, new Vector2(0.345f, 0.456f), queueEventOnly: true); - BeginTouch(2, new Vector2(0.456f, 0.567f), queueEventOnly: true); - currentTime = 0.333; - EndTouch(2, new Vector2(0.567f, 0.678f), queueEventOnly: true); - InputSystem.Update(); - - Assert.That(Touch.activeTouches[0].startScreenPosition, - Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[1].startScreenPosition, - Is.EqualTo(new Vector2(0.456f, 0.567f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].startTime, Is.EqualTo(0.111).Within(0.0001)); - Assert.That(Touch.activeTouches[1].startTime, Is.EqualTo(0.222).Within(0.0001)); - } - - [Test] - [Category("EnhancedTouch")] - [TestCase(false)] - [TestCase(true)] - public void EnhancedTouch_CanAccessHistoryOfTouch_WithEventMergingSetTo(bool mergeRedundantEvents) - { - ResetTime(); - - InputSystem.settings.disableRedundantEventsMerging = !mergeRedundantEvents; - - // Noise. This one shouldn't show up in the history. - BeginTouch(2, new Vector2(0.111f, 0.222f), queueEventOnly: true); - EndTouch(2, new Vector2(0.111f, 0.222f), queueEventOnly: true); - InputSystem.Update(); - InputSystem.Update(); // The end touch lingers for one frame. - - currentTime = 0.876; - BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); - currentTime = 0.987; - MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.345f, 0.456f), queueEventOnly: true); - MoveTouch(1, new Vector2(0.456f, 0.567f), queueEventOnly: true); - BeginTouch(3, new Vector2(0.666f, 0.666f), queueEventOnly: true); - BeginTouch(4, new Vector2(0.777f, 0.777f), queueEventOnly: true); - EndTouch(4, new Vector2(0.888f, 0.888f), queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); - - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].history, Has.Count.EqualTo(mergeRedundantEvents ? 2 : 3)); - Assert.That(Touch.activeTouches[0].history, Has.All.Property("finger").SameAs(Touch.activeTouches[0].finger)); - var beganIndex = mergeRedundantEvents ? 1 : 2; - Assert.That(Touch.activeTouches[0].history[beganIndex].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.activeTouches[0].history[beganIndex].time, Is.EqualTo(0.876).Within(0.0001)); - Assert.That(Touch.activeTouches[0].history[beganIndex].startTime, Is.EqualTo(0.876).Within(0.0001)); - Assert.That(Touch.activeTouches[0].history[beganIndex].startScreenPosition, - Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); - for (int index = 0; index < (mergeRedundantEvents ? 1 : 2); ++index) - { - Assert.That(Touch.activeTouches[0].history[index].phase, Is.EqualTo(TouchPhase.Moved)); - Assert.That(Touch.activeTouches[0].history[index].time, Is.EqualTo(0.987).Within(0.0001)); - Assert.That(Touch.activeTouches[0].history[index].startTime, Is.EqualTo(0.876).Within(0.0001)); - Assert.That(Touch.activeTouches[0].history[index].startScreenPosition, - Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); - } - - Assert.That(Touch.activeTouches[1].touchId, Is.EqualTo(3)); - Assert.That(Touch.activeTouches[1].history, Is.Empty); - - Assert.That(Touch.activeTouches[2].touchId, Is.EqualTo(4)); - Assert.That(Touch.activeTouches[2].history, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[2].history[0].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.activeTouches[2].history[0].screenPosition, - Is.EqualTo(new Vector2(0.777f, 0.777f)).Using(Vector2EqualityComparer.Instance)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_HasOneFingerForEveryPossibleContactOnScreen() - { - var touchscreen1 = Touchscreen.current; - - // To mix it up, have a touchscreen with 15 possible contacts instead of - // the default ten. - const string json = @" - { - ""name"" : ""CustomTouchscreen"", - ""extend"" : ""Touchscreen"", - ""controls"" : [ - { ""name"" : ""touch"", ""arraySize"" : 15 } - ] - } - "; - - InputSystem.RegisterLayout(json); - var touchscreen2 = (Touchscreen)InputSystem.AddDevice("CustomTouchscreen"); - - // Make sure that the system has noticed both screens. One got added before it initialized, - // one got added after. - Assert.That(Touch.screens.Count(), Is.EqualTo(2)); - Assert.That(Touch.screens, Has.Exactly(1).SameAs(touchscreen1)); - Assert.That(Touch.screens, Has.Exactly(1).SameAs(touchscreen2)); - - // Make we get a combined 70 fingers. - Assert.That(Touch.fingers, Has.Count.EqualTo(touchscreen1.touches.Count + touchscreen2.touches.Count)); - Assert.That(Touch.fingers, Has.Exactly(touchscreen1.touches.Count).With.Property("screen").SameAs(touchscreen1)); - Assert.That(Touch.fingers, Has.Exactly(touchscreen2.touches.Count).With.Property("screen").SameAs(touchscreen2)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanTrackActiveFingers() - { - Assert.That(Touch.activeFingers, Is.Empty); - - BeginTouch(1, new Vector2(0.123f, 0.234f)); - - Assert.That(Touch.activeFingers, Has.Count.EqualTo(1)); - Assert.That(Touch.activeFingers[0].isActive, Is.True); - Assert.That(Touch.activeFingers[0].index, Is.EqualTo(0)); - Assert.That(Touch.activeFingers[0].screen, Is.SameAs(Touchscreen.current)); - Assert.That(Touch.activeFingers[0].screenPosition, - Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); - - MoveTouch(1, new Vector2(0.234f, 0.345f)); - - Assert.That(Touch.activeFingers, Has.Count.EqualTo(1)); - Assert.That(Touch.activeFingers[0].isActive, Is.True); - Assert.That(Touch.activeFingers[0].index, Is.EqualTo(0)); - Assert.That(Touch.activeFingers[0].screen, Is.SameAs(Touchscreen.current)); - Assert.That(Touch.activeFingers[0].screenPosition, - Is.EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); - - BeginTouch(2, new Vector2(0.987f, 0.789f)); - - Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); - Assert.That(Touch.activeFingers[0].isActive, Is.True); - Assert.That(Touch.activeFingers[0].index, Is.EqualTo(0)); - Assert.That(Touch.activeFingers[0].screen, Is.SameAs(Touchscreen.current)); - Assert.That(Touch.activeFingers[0].screenPosition, - Is.EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeFingers[1].isActive, Is.True); - Assert.That(Touch.activeFingers[1].index, Is.EqualTo(1)); - Assert.That(Touch.activeFingers[1].screen, Is.SameAs(Touchscreen.current)); - Assert.That(Touch.activeFingers[1].screenPosition, - Is.EqualTo(new Vector2(0.987f, 0.789f)).Using(Vector2EqualityComparer.Instance)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanTrackActiveFingers_FromMultipleTouchscreens() - { - var screen1 = Touchscreen.current; - var screen2 = InputSystem.AddDevice(); - - Assert.That(Touch.fingers, Has.Count.EqualTo(screen1.touches.Count + screen2.touches.Count)); - Assert.That(Touch.fingers, Has.Exactly(screen1.touches.Count).With.Property("screen").SameAs(screen1)); - Assert.That(Touch.fingers, Has.Exactly(screen2.touches.Count).With.Property("screen").SameAs(screen2)); - - BeginTouch(1, new Vector2(0.123f, 0.234f), screen: screen1); - BeginTouch(1, new Vector2(0.234f, 0.345f), screen: screen2); - - Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); - Assert.That(Touch.activeFingers, - Has.Exactly(1).With.Property("screen").SameAs(screen1).And.With.Property("screenPosition") - .EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeFingers, - Has.Exactly(1).With.Property("screen").SameAs(screen2).And.With.Property("screenPosition") - .EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_RemovingTouchscreenRemovesItsActiveTouches() - { - BeginTouch(1, new Vector2(123, 234)); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - - InputSystem.RemoveDevice(Touchscreen.current); - - Assert.That(Touch.activeTouches, Is.Empty); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanGetCurrentTouchFromFinger() - { - BeginTouch(1, new Vector2(0.123f, 0.234f)); - BeginTouch(2, new Vector2(0.456f, 0.567f)); - - Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); - Assert.That(Touch.activeFingers[0].currentTouch, Is.Not.EqualTo(default(Touch))); - Assert.That(Touch.activeFingers[0].lastTouch, Is.EqualTo(Touch.activeFingers[0].currentTouch)); - Assert.That(Touch.activeFingers[0].currentTouch.screenPosition, Is.EqualTo(new Vector2(0.123f, 0.234f))); - Assert.That(Touch.activeFingers[0].currentTouch.touchId, Is.EqualTo(1)); - - EndTouch(1, new Vector2(0.234f, 0.345f)); - - // The ended touch should linger for one frame. - Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); - Assert.That(Touch.activeFingers[0].currentTouch.phase, Is.EqualTo(TouchPhase.Ended)); - Assert.That(Touch.activeFingers[0].currentTouch.screenPosition, Is.EqualTo(new Vector2(0.234f, 0.345f))); - Assert.That(Touch.activeFingers[0].currentTouch.touchId, Is.EqualTo(1)); - Assert.That(Touch.activeFingers[0].lastTouch, Is.EqualTo(Touch.activeFingers[0].currentTouch)); - - InputSystem.Update(); - - Assert.That(Touch.activeFingers, Has.Count.EqualTo(1)); - Assert.That(Touch.activeFingers[0].currentTouch.touchId, Is.EqualTo(2)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanGetLastTouchFromFinger() - { - BeginTouch(1, new Vector2(0.123f, 0.234f)); - EndTouch(1, new Vector2(0.234f, 0.345f)); - - InputSystem.Update(); - - Assert.That(Touch.fingers[0].currentTouch.valid, Is.False); - Assert.That(Touch.fingers[0].lastTouch.valid, Is.True); - Assert.That(Touch.fingers[0].lastTouch.screenPosition, Is.EqualTo(new Vector2(0.234f, 0.345f))); - Assert.That(Touch.fingers[0].lastTouch.touchId, Is.EqualTo(1)); - Assert.That(Touch.fingers[0].lastTouch.phase, Is.EqualTo(TouchPhase.Ended)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanAccessTouchHistoryOnFinger() - { - BeginTouch(1, new Vector2(0.123f, 0.234f)); // Finger #0, touch #3 - MoveTouch(1, new Vector2(0.234f, 0.345f)); // Finger #0, touch #2 - MoveTouch(1, new Vector2(0.345f, 0.456f)); // Finger #0, touch #1 - BeginTouch(2, new Vector2(0.456f, 0.567f)); // Finger #1, touch #4 - MoveTouch(2, new Vector2(0.567f, 0.678f)); // Finger #1, touch #3 - InputSystem.Update(); // Noise. - MoveTouch(1, new Vector2(0.789f, 0.890f)); // Finger #0, touch #0 - EndTouch(2, new Vector2(0.111f, 0.222f)); // Finger #1, touch #2 - BeginTouch(3, new Vector2(0.222f, 0.333f)); // Finger #1, touch #1 - EndTouch(3, new Vector2(0.333f, 0.444f)); // Finger #1, touch #0 - - Assert.That(Touch.fingers[0].touchHistory, Has.Count.EqualTo(4)); - Assert.That(Touch.fingers[1].touchHistory, Has.Count.EqualTo(5)); - Assert.That(Touch.fingers[0].touchHistory, Has.All.Property("finger").SameAs(Touch.fingers[0])); - Assert.That(Touch.fingers[1].touchHistory, Has.All.Property("finger").SameAs(Touch.fingers[1])); - - Assert.That(Touch.fingers[0].touchHistory[0].touchId, Is.EqualTo(1)); - Assert.That(Touch.fingers[0].touchHistory[0].phase, Is.EqualTo(TouchPhase.Moved)); - Assert.That(Touch.fingers[0].touchHistory[0].screenPosition, - Is.EqualTo(new Vector2(0.789f, 0.890f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.fingers[0].touchHistory[1].touchId, Is.EqualTo(1)); - Assert.That(Touch.fingers[0].touchHistory[1].phase, Is.EqualTo(TouchPhase.Moved)); - Assert.That(Touch.fingers[0].touchHistory[1].screenPosition, - Is.EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.fingers[0].touchHistory[2].touchId, Is.EqualTo(1)); - Assert.That(Touch.fingers[0].touchHistory[2].phase, Is.EqualTo(TouchPhase.Moved)); - Assert.That(Touch.fingers[0].touchHistory[2].screenPosition, - Is.EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.fingers[0].touchHistory[3].touchId, Is.EqualTo(1)); - Assert.That(Touch.fingers[0].touchHistory[3].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.fingers[0].touchHistory[3].screenPosition, - Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); - - Assert.That(Touch.fingers[1].touchHistory[0].touchId, Is.EqualTo(3)); - Assert.That(Touch.fingers[1].touchHistory[0].phase, Is.EqualTo(TouchPhase.Ended)); - Assert.That(Touch.fingers[1].touchHistory[0].screenPosition, - Is.EqualTo(new Vector2(0.333f, 0.444f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.fingers[1].touchHistory[1].touchId, Is.EqualTo(3)); - Assert.That(Touch.fingers[1].touchHistory[1].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.fingers[1].touchHistory[1].screenPosition, - Is.EqualTo(new Vector2(0.222f, 0.333f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.fingers[1].touchHistory[2].touchId, Is.EqualTo(2)); - Assert.That(Touch.fingers[1].touchHistory[2].phase, Is.EqualTo(TouchPhase.Ended)); - Assert.That(Touch.fingers[1].touchHistory[2].screenPosition, - Is.EqualTo(new Vector2(0.111f, 0.222f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.fingers[1].touchHistory[3].touchId, Is.EqualTo(2)); - Assert.That(Touch.fingers[1].touchHistory[3].phase, Is.EqualTo(TouchPhase.Moved)); - Assert.That(Touch.fingers[1].touchHistory[3].screenPosition, - Is.EqualTo(new Vector2(0.567f, 0.678f)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.fingers[1].touchHistory[4].touchId, Is.EqualTo(2)); - Assert.That(Touch.fingers[1].touchHistory[4].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.fingers[1].touchHistory[4].screenPosition, - Is.EqualTo(new Vector2(0.456f, 0.567f)).Using(Vector2EqualityComparer.Instance)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanReceiveCallbacksOnFingerActivity() - { - var receivedFingers = new List>(); - - Touch.onFingerDown += - finger => receivedFingers.Add(new Tuple("Down", finger)); - Touch.onFingerUp += - finger => receivedFingers.Add(new Tuple("Up", finger)); - Touch.onFingerMove += - finger => receivedFingers.Add(new Tuple("Move", finger)); - - BeginTouch(1, new Vector2(0.123f, 0.234f)); - BeginTouch(2, new Vector2(0.234f, 0.345f)); - - Assert.That(receivedFingers, Is.EquivalentTo(new[] - { - new Tuple("Down", Touch.fingers[0]), - new Tuple("Down", Touch.fingers[1]), - })); - - receivedFingers.Clear(); - - MoveTouch(1, new Vector2(0.345f, 0.456f)); - MoveTouch(1, new Vector2(0.456f, 0.567f)); - - Assert.That(receivedFingers, Is.EquivalentTo(new[] - { - new Tuple("Move", Touch.fingers[0]), - new Tuple("Move", Touch.fingers[0]), - })); - - receivedFingers.Clear(); - - EndTouch(2, new Vector2(0.567f, 0.678f)); - - Assert.That(receivedFingers, Is.EquivalentTo(new[] - { - new Tuple("Up", Touch.fingers[1]) - })); - } - - // https://fogbugz.unity3d.com/f/cases/1286865/ - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanBeDisabledAndReenabled() - { - BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); - InputSystem.Update(); - Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); - - MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); - InputSystem.Update(); - Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Moved)); - - InputSystem.Update(); - Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Stationary)); - - EnhancedTouchSupport.Disable(); - EnhancedTouchSupport.Enable(); - - InputSystem.Update(); - Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Stationary)); - - MoveTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); - InputSystem.Update(); - Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Moved)); - - InputSystem.Update(); - Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Stationary)); - } - - [Test] - [Category("EnhancedTouch")] - [Property("EnhancedTouchDisabled", 1)] - public void EnhancedTouch_CanEnableAndDisableTouchSimulation() - { - Assert.That(InputSystem.devices, Has.None.TypeOf()); - - TouchSimulation.Enable(); - - Assert.That(InputSystem.devices, Has.Exactly(1).AssignableTo()); - Assert.That(TouchSimulation.instance, Is.Not.Null); - Assert.That(TouchSimulation.instance.simulatedTouchscreen, Is.Not.Null); - Assert.That(TouchSimulation.instance.simulatedTouchscreen, Is.SameAs(Touchscreen.current)); - - TouchSimulation.Disable(); - - Assert.That(InputSystem.devices, Has.None.TypeOf()); - - // Make sure we can re-enable it. - TouchSimulation.Enable(); - - Assert.That(InputSystem.devices, Has.Exactly(1).AssignableTo()); - - TouchSimulation.Destroy(); - - Assert.That(TouchSimulation.instance, Is.Null); - } - - [Test] - [Category("EnhancedTouch")] - [TestCase("Mouse")] - [TestCase("Pen")] - [TestCase("Pointer")] - public void EnhancedTouch_CanSimulateTouchInputFrom(string layoutName) - { - var pointer = (Pointer)InputSystem.AddDevice(layoutName); - - TouchSimulation.Enable(); - - Set(pointer.position, new Vector2(123, 234), queueEventOnly: true); - Press(pointer.press); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.activeTouches[0].tapCount, Is.Zero); - Assert.That(Touch.activeTouches[0].isTap, Is.False); - - Move(pointer.position, new Vector2(234, 345)); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(new Vector2(111, 111)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Moved)); - Assert.That(Touch.activeTouches[0].tapCount, Is.Zero); - Assert.That(Touch.activeTouches[0].isTap, Is.False); - - Release(pointer.press); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Ended)); - Assert.That(Touch.activeTouches[0].tapCount, Is.Zero); - Assert.That(Touch.activeTouches[0].isTap, Is.False); - - PressAndRelease(pointer.press); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(2)); - Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); // Ended comes in next frame. - Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].isTap, Is.True); - - PressAndRelease(pointer.press); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(2)); - Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Ended)); - Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].isTap, Is.True); - Assert.That(Touch.activeTouches[1].touchId, Is.EqualTo(3)); - Assert.That(Touch.activeTouches[1].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[1].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[1].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[1].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.activeTouches[1].tapCount, Is.EqualTo(2)); - Assert.That(Touch.activeTouches[1].isTap, Is.True); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(3)); - Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Ended)); - Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(2)); - Assert.That(Touch.activeTouches[0].isTap, Is.True); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Is.Empty); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_CanSimulateTouchInputFromMultiplePointers() - { - var pointer1 = InputSystem.AddDevice(); - var pointer2 = InputSystem.AddDevice(); - - TouchSimulation.Enable(); - - Set(pointer1.position, new Vector2(123, 234), queueEventOnly: true); - Set(pointer2.position, new Vector2(234, 345), queueEventOnly: true); - Press(pointer1.press, queueEventOnly: true); - Press(pointer2.press, queueEventOnly: true); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); - Assert.That(Touch.activeTouches[1].touchId, Is.EqualTo(2)); - Assert.That(Touch.activeTouches[1].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); - Assert.That(Touch.activeTouches[1].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[1].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - Assert.That(Touch.activeTouches[1].phase, Is.EqualTo(TouchPhase.Began)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_TouchSimulation_CanAddAndRemovePointerDevices() - { - TouchSimulation.Enable(); - - var pointer = InputSystem.AddDevice(); - Press(pointer.press); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - - InputSystem.RemoveDevice(pointer); - - ////FIXME: This doesn't work yet as TouchSimulation isn't using events and Touch ignores input that isn't from events - //Assert.That(Touch.activeTouches, Is.Empty); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_TouchSimulation_ProducesOneTouchFromEveryNonSyntheticButton() - { - const string json = @" - { - ""name"" : ""CustomPointer"", - ""extend"" : ""Pointer"", - ""controls"" : [ - { ""name"" : ""syntheticButton"", ""layout"" : ""Button"", ""synthetic"" : true }, - { ""name"" : ""nonSyntheticButton"", ""layout"" : ""Button"" } - ] - } - "; - - InputSystem.RegisterLayout(json); - var device = (Pointer)InputSystem.AddDevice("CustomPointer"); - - TouchSimulation.Enable(); - - Press((ButtonControl)device["nonSyntheticButton"]); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - - Press((ButtonControl)device["syntheticButton"]); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); - } - - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_TouchSimulation_ProducesPrimaryTouches() - { - var mouse = InputSystem.AddDevice(); - - TouchSimulation.Enable(); - - Set(mouse.position, new Vector2(123, 234)); - Press(mouse.leftButton); - - Assert.That(TouchSimulation.instance.simulatedTouchscreen.press.ReadValue(), Is.EqualTo(1).Within(0.00001)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.touchId.ReadValue(), Is.EqualTo(1)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.phase.ReadValue(), Is.EqualTo(TouchPhase.Began)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.position.ReadValue(), - Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.delta.ReadValue(), - Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - - Set(mouse.position, new Vector2(234, 345)); - - Assert.That(TouchSimulation.instance.simulatedTouchscreen.press.ReadValue(), Is.EqualTo(1).Within(0.00001)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.touchId.ReadValue(), Is.EqualTo(1)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.phase.ReadValue(), Is.EqualTo(TouchPhase.Moved)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.position.ReadValue(), - Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.delta.ReadValue(), - Is.EqualTo(new Vector2(111, 111)).Using(Vector2EqualityComparer.Instance)); - - InputSystem.Update(); - - Assert.That(TouchSimulation.instance.simulatedTouchscreen.press.ReadValue(), Is.EqualTo(1).Within(0.00001)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.touchId.ReadValue(), Is.EqualTo(1)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.phase.ReadValue(), Is.EqualTo(TouchPhase.Moved)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.position.ReadValue(), - Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); - Assert.That(TouchSimulation.instance.simulatedTouchscreen.delta.ReadValue(), - Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); - } - - // This is mostly for domain reloads. - [Test] - [Category("EnhancedTouch")] - public void EnhancedTouch_TouchSimulation_ReusesSimulatedTouchscreenInstanceIfPresent() - { - var device = InputSystem.AddDevice("Simulated Touchscreen"); - - TouchSimulation.Enable(); - - Assert.That(TouchSimulation.instance.simulatedTouchscreen, Is.SameAs(device)); - } - - [Test] - [Category("EnhancedTouch")] - public unsafe void EnhancedTouch_TouchSimulation_DisablesPointerDevicesWithoutDisablingEvents() - { - var mouse = InputSystem.AddDevice(); - var pen = InputSystem.AddDevice(); - - runtime.SetDeviceCommandCallback(mouse, (id, command) => - { - Assert.That(command->type, Is.Not.EqualTo(DisableDeviceCommand.Type)); - return InputDeviceCommand.GenericFailure; - }); - - TouchSimulation.Enable(); - - Assert.That(mouse.enabled, Is.False); - Assert.That(pen.enabled, Is.False); - - InputSystem.QueueStateEvent(mouse, new MouseState - { - position = new Vector2(123, 234), - }.WithButton(MouseButton.Left)); - InputSystem.Update(); - - Assert.That(Touchscreen.current.touches[0].isInProgress, Is.True); - Assert.That(Touchscreen.current.touches[0].position.ReadValue(), Is.EqualTo(new Vector2(123, 234))); - } - - [Test] - [Category("EnhancedTouch")] - [TestCase(true)] - [TestCase(false)] - public void EnhancedTouch_ActiveTouchesGetCanceledOnFocusLoss_WithRunInBackgroundBeing(bool runInBackground) - { - runtime.runInBackground = runInBackground; - - BeginTouch(1, new Vector2(123, 456)); - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); - - runtime.PlayerFocusLost(); - - if (runInBackground) - { - // When running in the background, next update after focus loss sees touches cancelled - // and update after that sees them gone. - InputSystem.Update(InputUpdateType.Dynamic); - } - else - { - // When not running in the background, the same thing happens but only on focus gain. - runtime.PlayerFocusGained(); - InputSystem.Update(); - } - - Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); - Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Canceled)); - - InputSystem.Update(); - - Assert.That(Touch.activeTouches, Is.Empty); - } -} +// using System; +// using System.Collections.Generic; +// using System.Linq; +// using NUnit.Framework; +// using UnityEngine; +// using UnityEngine.InputSystem; +// using UnityEngine.InputSystem.Controls; +// using UnityEngine.InputSystem.EnhancedTouch; +// using UnityEngine.InputSystem.LowLevel; +// using UnityEngine.InputSystem.Utilities; +// using UnityEngine.TestTools.Utils; +// using Touch = UnityEngine.InputSystem.EnhancedTouch.Touch; +// using Property = NUnit.Framework.PropertyAttribute; +// using TouchPhase = UnityEngine.InputSystem.TouchPhase; +// +// #if UNITY_EDITOR +// using UnityEngine.InputSystem.Editor; +// #endif +// +// internal class EnhancedTouchTests : CoreTestsFixture +// { +// private TouchSimulation m_OldTouchSimulationInstance; +// +// public override void Setup() +// { +// base.Setup(); +// +// // Disable() will not reset this so default initialize it here. +// Touch.s_GlobalState.historyLengthPerFinger = 64; +// +// if (!TestContext.CurrentContext.Test.Properties.ContainsKey("EnhancedTouchDisabled")) +// { +// InputSystem.AddDevice(); +// EnhancedTouchSupport.Enable(); +// } +// +// // Make sure we don't run into interference with a TouchSimulation instance that may +// // already be in place. +// m_OldTouchSimulationInstance = TouchSimulation.s_Instance; +// TouchSimulation.s_Instance = null; +// } +// +// public override void TearDown() +// { +// EnhancedTouchSupport.Disable(); +// +// // Make sure cleanup really did clean up. +// Assert.That(Touch.s_GlobalState.touchscreens.length, Is.EqualTo(0)); +// Assert.That(Touch.s_GlobalState.playerState, Is.EqualTo(default(Touch.FingerAndTouchState))); +// #if UNITY_EDITOR +// Assert.That(Touch.s_GlobalState.editorState, Is.EqualTo(default(Touch.FingerAndTouchState))); +// #endif +// +// // Some state is kept alive in-between Disable/Enable. Manually clean it out. +// Touch.s_GlobalState.onFingerDown = default; +// Touch.s_GlobalState.onFingerUp = default; +// Touch.s_GlobalState.onFingerMove = default; +// +// TouchSimulation.Destroy(); +// TouchSimulation.s_Instance = m_OldTouchSimulationInstance; +// m_OldTouchSimulationInstance = null; +// +// base.TearDown(); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [Property("EnhancedTouchDisabled", 1)] +// public void EnhancedTouch_IsDisabledByDefault() +// { +// Assert.That(EnhancedTouchSupport.enabled, Is.False); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [Property("EnhancedTouchDisabled", 1)] +// public void EnhancedTouch_ThrowsExceptionWhenNotEnabled() +// { +// Assert.That(() => Touch.activeFingers, Throws.InvalidOperationException); +// Assert.That(() => Touch.activeTouches, Throws.InvalidOperationException); +// Assert.That(() => Touch.fingers, Throws.InvalidOperationException); +// Assert.That(() => Touch.screens, Throws.InvalidOperationException); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [Property("EnhancedTouchDisabled", 1)] +// public void EnhancedTouch_CanBeDisabledAndEnabled() +// { +// InputSystem.AddDevice(); +// +// EnhancedTouchSupport.Enable(); +// Assert.That(EnhancedTouchSupport.enabled, Is.True); +// +// EnhancedTouchSupport.Disable(); +// Assert.That(EnhancedTouchSupport.enabled, Is.False); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [Property("EnhancedTouchDisabled", 1)] +// public void EnhancedTouch_CanBeDisabledAndEnabled_WithoutTouchscreenPresent() +// { +// EnhancedTouchSupport.Enable(); +// Assert.That(EnhancedTouchSupport.enabled, Is.True); +// +// EnhancedTouchSupport.Disable(); +// Assert.That(EnhancedTouchSupport.enabled, Is.False); +// } +// +// // The following tests deal with the fact that the input system potentially maintains more than one view on input +// // because it concurrently supports input state queries in fixed update, dynamic/manual update, and editor updates. +// // For the touch system, this means that we have to potentially track several different versions of state, too. +// // The tests here go through the various combinations and make sure that Touch captures information correctly. +// #region Update Types / Modes +// +// [Test] +// [Category("EnhancedTouch")] +// [TestCase(InputSettings.UpdateMode.ProcessEventsManually, InputUpdateType.Manual)] +// [TestCase(InputSettings.UpdateMode.ProcessEventsInDynamicUpdate, InputUpdateType.Dynamic)] +// [TestCase(InputSettings.UpdateMode.ProcessEventsInFixedUpdate, InputUpdateType.Fixed)] +// public void EnhancedTouch_SupportsInputUpdateIn(InputSettings.UpdateMode updateMode, InputUpdateType updateType) +// { +// ResetTime(); +// +// InputSystem.settings.updateMode = updateMode; +// runtime.currentTimeForFixedUpdate += Time.fixedDeltaTime; +// BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// InputSystem.Update(updateType); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].screenPosition, +// Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); +// } +// +// #if UNITY_EDITOR +// [Test] +// [Category("EnhancedTouch")] +// [TestCase(InputSettings.UpdateMode.ProcessEventsManually)] +// [TestCase(InputSettings.UpdateMode.ProcessEventsInDynamicUpdate)] +// [TestCase(InputSettings.UpdateMode.ProcessEventsInFixedUpdate)] +// public void EnhancedTouch_SupportsEditorUpdates(InputSettings.UpdateMode updateMode) +// { +// ResetTime(); +// +// InputSystem.settings.editorInputBehaviorInPlayMode = default; +// +// // To better observe that play mode and edit mode state is indeed independent and handled +// // correctly, suppress resetting of the touch device when focus is lost to the player. +// runtime.runInBackground = true; +// SetCanRunInBackground(Touchscreen.current); +// +// InputSystem.settings.updateMode = updateMode; +// runtime.currentTimeForFixedUpdate += Time.fixedDeltaTime; +// // Run one player update with data. +// BeginTouch(1, new Vector2(0.123f, 0.234f)); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// +// // And make sure we're not seeing the data in the editor. +// runtime.PlayerFocusLost(); +// InputSystem.Update(InputUpdateType.Editor); +// +// Assert.That(Touch.activeTouches, Is.Empty); +// +// // Feed some data into editor state. +// BeginTouch(2, new Vector2(0.234f, 0.345f), queueEventOnly: true); +// InputSystem.Update(InputUpdateType.Editor); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(2)); +// +// // Switch back to player. +// runtime.PlayerFocusGained(); +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// } +// +// #endif +// +// #endregion +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanGetActiveTouches() +// { +// // Begin and move in same frame. +// BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); +// // Begin only. +// BeginTouch(2, new Vector2(0.345f, 0.456f), queueEventOnly: true); +// // Begin, move, and end in same frame. +// BeginTouch(3, new Vector2(0.456f, 0.567f), queueEventOnly: true); +// MoveTouch(3, new Vector2(0.111f, 0.222f), queueEventOnly: true); // This one should get ignored. +// EndTouch(3, new Vector2(0.567f, 0.678f), queueEventOnly: true); +// // Begin only but reusing previous touch ID. +// BeginTouch(3, new Vector2(0.678f, 0.789f), queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(4)); +// +// // When we begin and move a touch in the same frame, the phase should be Began, *NOT* Moved. +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Began) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Began) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// // A touch that begins and ends in the same frame, will see a Began in the current frame and a separate Ended in the next +// // (even though there was no actual activity on the touch that frame). +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Began) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.456f, 0.567f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Began) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(4)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Moved) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// // Ended record for touch touch #3 that began and ended in previous frame. +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Ended) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.567f, 0.678f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.678f, 0.789f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(default(Vector2))); +// +// EndTouch(3, new Vector2(0.111f, 0.222f), queueEventOnly: true); +// EndTouch(2, new Vector2(0.222f, 0.333f), queueEventOnly: true); +// EndTouch(1, new Vector2(0.333f, 0.444f), queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Ended) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(new Vector2(0.099f, 0.099f)).Using(Vector2EqualityComparer.Instance)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Ended) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.222f, 0.333f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(new Vector2(-0.123f, -0.123f)).Using(Vector2EqualityComparer.Instance)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Ended) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.111f, 0.222f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("delta").EqualTo(new Vector2(-0.567f, -0.567f)).Using(Vector2EqualityComparer.Instance)); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Is.Empty); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_DeltasInActiveTouchesAccumulateAndReset() +// { +// // Only Began in frame. +// BeginTouch(1, new Vector2(0.111f, 0.222f), queueEventOnly: true); +// // Began and Moved in same frame. +// BeginTouch(2, new Vector2(0.222f, 0.333f), queueEventOnly: true); +// MoveTouch(2, new Vector2(0.333f, 0.444f), queueEventOnly: true); +// // Began and Ended in same frame. +// BeginTouch(3, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// EndTouch(3, new Vector2(0.234f, 0.345f), queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Began) +// .And.With.Property("delta").EqualTo(default(Vector2)) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.111f, 0.222f))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Began) +// .And.With.Property("delta").EqualTo(default(Vector2)) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.222f, 0.333f))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Began) +// .And.With.Property("delta").EqualTo(default(Vector2)) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.123f, 0.234f))); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); // Touch #3 ends this frame. +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("delta").EqualTo(default(Vector2)) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.111f, 0.222f))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Moved) +// .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(3) +// .And.With.Property("phase").EqualTo(TouchPhase.Ended) +// .And.With.Property("delta").EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.234f, 0.345f))); +// +// MoveTouch(1, new Vector2(0.444f, 0.555f), queueEventOnly: true); // Generates delta to (0.111,0.111)! +// MoveTouch(1, new Vector2(0.555f, 0.666f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.666f, 0.777f), queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Moved) +// .And.With.Property("delta").EqualTo(new Vector2(0.555f, 0.555f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.666f, 0.777f))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("delta").EqualTo(default(Vector2)) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); +// +// MoveTouch(1, new Vector2(0.777f, 0.888f), queueEventOnly: true); +// EndTouch(1, new Vector2(0.888f, 0.999f), queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(1) +// .And.With.Property("phase").EqualTo(TouchPhase.Ended) +// .And.With.Property("delta").EqualTo(new Vector2(0.222f, 0.222f)).Using(Vector2EqualityComparer.Instance) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.888f, 0.999f))); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("delta").EqualTo(default(Vector2)) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// +// Assert.That(Touch.activeTouches, Has.Exactly(1) +// .With.Property("touchId").EqualTo(2) +// .And.With.Property("phase").EqualTo(TouchPhase.Stationary) +// .And.With.Property("delta").EqualTo(default(Vector2)) +// .And.With.Property("screenPosition").EqualTo(new Vector2(0.333f, 0.444f))); +// } +// +// // Unlike when looking at activeTouches (given that "active" is a frame-to-frame concept here) +// // when looking at touch history, we're looking at values the touches had when they were reported. +// // Thus we don't want accumulation and resetting (which again are frame-to-frame kind of mechanics). +// [Test] +// [Category("EnhancedTouch")] +// [TestCase(false)] +// [TestCase(true)] +// public void EnhancedTouch_DeltasInTouchHistoryDoNotAccumulateAndReset_WithEventMergingSetTo(bool mergeRedundantEvents) +// { +// InputSystem.settings.disableRedundantEventsMerging = !mergeRedundantEvents; +// +// BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.345f, 0.456f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.456f, 0.567f), queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeFingers[0].touchHistory.Count, Is.EqualTo(mergeRedundantEvents ? 3 : 4)); +// +// if (mergeRedundantEvents) +// { +// // Event merging adds deltas inside +// Assert.That(Touch.activeFingers[0].touchHistory[0].delta, +// Is.EqualTo(new Vector2(0.222f, 0.222f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeFingers[0].touchHistory[1].delta, +// Is.EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); +// } +// else +// { +// Assert.That(Touch.activeFingers[0].touchHistory[0].delta, +// Is.EqualTo(new Vector2(0.222f, 0.222f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeFingers[0].touchHistory[1].delta, +// Is.EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeFingers[0].touchHistory[2].delta, +// Is.EqualTo(new Vector2(0.111f, 0.111f)).Using(Vector2EqualityComparer.Instance)); +// } +// +// Assert.That(Touch.activeFingers[0].touchHistory.Last().delta, +// Is.EqualTo(new Vector2()).Using(Vector2EqualityComparer.Instance)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanCheckForTaps() +// { +// BeginTouch(1, new Vector2(123, 234)); +// +// Assert.That(Touch.activeTouches[0].isTap, Is.False); +// Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(0)); +// +// EndTouch(1, new Vector2(123, 234)); +// +// Assert.That(Touch.activeTouches[0].isTap, Is.True); +// Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(1)); +// Assert.That(Touch.fingers[0].touchHistory, Has.Count.EqualTo(2)); +// Assert.That(Touch.fingers[0].touchHistory[0].isTap, Is.True); +// Assert.That(Touch.fingers[0].touchHistory[1].isTap, Is.False); +// Assert.That(Touch.fingers[0].touchHistory[0].tapCount, Is.EqualTo(1)); +// Assert.That(Touch.fingers[0].touchHistory[1].tapCount, Is.EqualTo(0)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanGetStartPositionAndTimeOfTouch() +// { +// currentTime = 0.111; +// BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); +// currentTime = 0.222; +// MoveTouch(1, new Vector2(0.345f, 0.456f), queueEventOnly: true); +// BeginTouch(2, new Vector2(0.456f, 0.567f), queueEventOnly: true); +// currentTime = 0.333; +// EndTouch(2, new Vector2(0.567f, 0.678f), queueEventOnly: true); +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches[0].startScreenPosition, +// Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[1].startScreenPosition, +// Is.EqualTo(new Vector2(0.456f, 0.567f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].startTime, Is.EqualTo(0.111).Within(0.0001)); +// Assert.That(Touch.activeTouches[1].startTime, Is.EqualTo(0.222).Within(0.0001)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [TestCase(false)] +// [TestCase(true)] +// public void EnhancedTouch_CanAccessHistoryOfTouch_WithEventMergingSetTo(bool mergeRedundantEvents) +// { +// ResetTime(); +// +// InputSystem.settings.disableRedundantEventsMerging = !mergeRedundantEvents; +// +// // Noise. This one shouldn't show up in the history. +// BeginTouch(2, new Vector2(0.111f, 0.222f), queueEventOnly: true); +// EndTouch(2, new Vector2(0.111f, 0.222f), queueEventOnly: true); +// InputSystem.Update(); +// InputSystem.Update(); // The end touch lingers for one frame. +// +// currentTime = 0.876; +// BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// currentTime = 0.987; +// MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.345f, 0.456f), queueEventOnly: true); +// MoveTouch(1, new Vector2(0.456f, 0.567f), queueEventOnly: true); +// BeginTouch(3, new Vector2(0.666f, 0.666f), queueEventOnly: true); +// BeginTouch(4, new Vector2(0.777f, 0.777f), queueEventOnly: true); +// EndTouch(4, new Vector2(0.888f, 0.888f), queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(3)); +// +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].history, Has.Count.EqualTo(mergeRedundantEvents ? 2 : 3)); +// Assert.That(Touch.activeTouches[0].history, Has.All.Property("finger").SameAs(Touch.activeTouches[0].finger)); +// var beganIndex = mergeRedundantEvents ? 1 : 2; +// Assert.That(Touch.activeTouches[0].history[beganIndex].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.activeTouches[0].history[beganIndex].time, Is.EqualTo(0.876).Within(0.0001)); +// Assert.That(Touch.activeTouches[0].history[beganIndex].startTime, Is.EqualTo(0.876).Within(0.0001)); +// Assert.That(Touch.activeTouches[0].history[beganIndex].startScreenPosition, +// Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); +// for (int index = 0; index < (mergeRedundantEvents ? 1 : 2); ++index) +// { +// Assert.That(Touch.activeTouches[0].history[index].phase, Is.EqualTo(TouchPhase.Moved)); +// Assert.That(Touch.activeTouches[0].history[index].time, Is.EqualTo(0.987).Within(0.0001)); +// Assert.That(Touch.activeTouches[0].history[index].startTime, Is.EqualTo(0.876).Within(0.0001)); +// Assert.That(Touch.activeTouches[0].history[index].startScreenPosition, +// Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); +// } +// +// Assert.That(Touch.activeTouches[1].touchId, Is.EqualTo(3)); +// Assert.That(Touch.activeTouches[1].history, Is.Empty); +// +// Assert.That(Touch.activeTouches[2].touchId, Is.EqualTo(4)); +// Assert.That(Touch.activeTouches[2].history, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[2].history[0].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.activeTouches[2].history[0].screenPosition, +// Is.EqualTo(new Vector2(0.777f, 0.777f)).Using(Vector2EqualityComparer.Instance)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_HasOneFingerForEveryPossibleContactOnScreen() +// { +// var touchscreen1 = Touchscreen.current; +// +// // To mix it up, have a touchscreen with 15 possible contacts instead of +// // the default ten. +// const string json = @" +// { +// ""name"" : ""CustomTouchscreen"", +// ""extend"" : ""Touchscreen"", +// ""controls"" : [ +// { ""name"" : ""touch"", ""arraySize"" : 15 } +// ] +// } +// "; +// +// InputSystem.RegisterLayout(json); +// var touchscreen2 = (Touchscreen)InputSystem.AddDevice("CustomTouchscreen"); +// +// // Make sure that the system has noticed both screens. One got added before it initialized, +// // one got added after. +// Assert.That(Touch.screens.Count(), Is.EqualTo(2)); +// Assert.That(Touch.screens, Has.Exactly(1).SameAs(touchscreen1)); +// Assert.That(Touch.screens, Has.Exactly(1).SameAs(touchscreen2)); +// +// // Make we get a combined 70 fingers. +// Assert.That(Touch.fingers, Has.Count.EqualTo(touchscreen1.touches.Count + touchscreen2.touches.Count)); +// Assert.That(Touch.fingers, Has.Exactly(touchscreen1.touches.Count).With.Property("screen").SameAs(touchscreen1)); +// Assert.That(Touch.fingers, Has.Exactly(touchscreen2.touches.Count).With.Property("screen").SameAs(touchscreen2)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanTrackActiveFingers() +// { +// Assert.That(Touch.activeFingers, Is.Empty); +// +// BeginTouch(1, new Vector2(0.123f, 0.234f)); +// +// Assert.That(Touch.activeFingers, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeFingers[0].isActive, Is.True); +// Assert.That(Touch.activeFingers[0].index, Is.EqualTo(0)); +// Assert.That(Touch.activeFingers[0].screen, Is.SameAs(Touchscreen.current)); +// Assert.That(Touch.activeFingers[0].screenPosition, +// Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); +// +// MoveTouch(1, new Vector2(0.234f, 0.345f)); +// +// Assert.That(Touch.activeFingers, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeFingers[0].isActive, Is.True); +// Assert.That(Touch.activeFingers[0].index, Is.EqualTo(0)); +// Assert.That(Touch.activeFingers[0].screen, Is.SameAs(Touchscreen.current)); +// Assert.That(Touch.activeFingers[0].screenPosition, +// Is.EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); +// +// BeginTouch(2, new Vector2(0.987f, 0.789f)); +// +// Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); +// Assert.That(Touch.activeFingers[0].isActive, Is.True); +// Assert.That(Touch.activeFingers[0].index, Is.EqualTo(0)); +// Assert.That(Touch.activeFingers[0].screen, Is.SameAs(Touchscreen.current)); +// Assert.That(Touch.activeFingers[0].screenPosition, +// Is.EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeFingers[1].isActive, Is.True); +// Assert.That(Touch.activeFingers[1].index, Is.EqualTo(1)); +// Assert.That(Touch.activeFingers[1].screen, Is.SameAs(Touchscreen.current)); +// Assert.That(Touch.activeFingers[1].screenPosition, +// Is.EqualTo(new Vector2(0.987f, 0.789f)).Using(Vector2EqualityComparer.Instance)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanTrackActiveFingers_FromMultipleTouchscreens() +// { +// var screen1 = Touchscreen.current; +// var screen2 = InputSystem.AddDevice(); +// +// Assert.That(Touch.fingers, Has.Count.EqualTo(screen1.touches.Count + screen2.touches.Count)); +// Assert.That(Touch.fingers, Has.Exactly(screen1.touches.Count).With.Property("screen").SameAs(screen1)); +// Assert.That(Touch.fingers, Has.Exactly(screen2.touches.Count).With.Property("screen").SameAs(screen2)); +// +// BeginTouch(1, new Vector2(0.123f, 0.234f), screen: screen1); +// BeginTouch(1, new Vector2(0.234f, 0.345f), screen: screen2); +// +// Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); +// Assert.That(Touch.activeFingers, +// Has.Exactly(1).With.Property("screen").SameAs(screen1).And.With.Property("screenPosition") +// .EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeFingers, +// Has.Exactly(1).With.Property("screen").SameAs(screen2).And.With.Property("screenPosition") +// .EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_RemovingTouchscreenRemovesItsActiveTouches() +// { +// BeginTouch(1, new Vector2(123, 234)); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// +// InputSystem.RemoveDevice(Touchscreen.current); +// +// Assert.That(Touch.activeTouches, Is.Empty); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanGetCurrentTouchFromFinger() +// { +// BeginTouch(1, new Vector2(0.123f, 0.234f)); +// BeginTouch(2, new Vector2(0.456f, 0.567f)); +// +// Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); +// Assert.That(Touch.activeFingers[0].currentTouch, Is.Not.EqualTo(default(Touch))); +// Assert.That(Touch.activeFingers[0].lastTouch, Is.EqualTo(Touch.activeFingers[0].currentTouch)); +// Assert.That(Touch.activeFingers[0].currentTouch.screenPosition, Is.EqualTo(new Vector2(0.123f, 0.234f))); +// Assert.That(Touch.activeFingers[0].currentTouch.touchId, Is.EqualTo(1)); +// +// EndTouch(1, new Vector2(0.234f, 0.345f)); +// +// // The ended touch should linger for one frame. +// Assert.That(Touch.activeFingers, Has.Count.EqualTo(2)); +// Assert.That(Touch.activeFingers[0].currentTouch.phase, Is.EqualTo(TouchPhase.Ended)); +// Assert.That(Touch.activeFingers[0].currentTouch.screenPosition, Is.EqualTo(new Vector2(0.234f, 0.345f))); +// Assert.That(Touch.activeFingers[0].currentTouch.touchId, Is.EqualTo(1)); +// Assert.That(Touch.activeFingers[0].lastTouch, Is.EqualTo(Touch.activeFingers[0].currentTouch)); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeFingers, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeFingers[0].currentTouch.touchId, Is.EqualTo(2)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanGetLastTouchFromFinger() +// { +// BeginTouch(1, new Vector2(0.123f, 0.234f)); +// EndTouch(1, new Vector2(0.234f, 0.345f)); +// +// InputSystem.Update(); +// +// Assert.That(Touch.fingers[0].currentTouch.valid, Is.False); +// Assert.That(Touch.fingers[0].lastTouch.valid, Is.True); +// Assert.That(Touch.fingers[0].lastTouch.screenPosition, Is.EqualTo(new Vector2(0.234f, 0.345f))); +// Assert.That(Touch.fingers[0].lastTouch.touchId, Is.EqualTo(1)); +// Assert.That(Touch.fingers[0].lastTouch.phase, Is.EqualTo(TouchPhase.Ended)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanAccessTouchHistoryOnFinger() +// { +// BeginTouch(1, new Vector2(0.123f, 0.234f)); // Finger #0, touch #3 +// MoveTouch(1, new Vector2(0.234f, 0.345f)); // Finger #0, touch #2 +// MoveTouch(1, new Vector2(0.345f, 0.456f)); // Finger #0, touch #1 +// BeginTouch(2, new Vector2(0.456f, 0.567f)); // Finger #1, touch #4 +// MoveTouch(2, new Vector2(0.567f, 0.678f)); // Finger #1, touch #3 +// InputSystem.Update(); // Noise. +// MoveTouch(1, new Vector2(0.789f, 0.890f)); // Finger #0, touch #0 +// EndTouch(2, new Vector2(0.111f, 0.222f)); // Finger #1, touch #2 +// BeginTouch(3, new Vector2(0.222f, 0.333f)); // Finger #1, touch #1 +// EndTouch(3, new Vector2(0.333f, 0.444f)); // Finger #1, touch #0 +// +// Assert.That(Touch.fingers[0].touchHistory, Has.Count.EqualTo(4)); +// Assert.That(Touch.fingers[1].touchHistory, Has.Count.EqualTo(5)); +// Assert.That(Touch.fingers[0].touchHistory, Has.All.Property("finger").SameAs(Touch.fingers[0])); +// Assert.That(Touch.fingers[1].touchHistory, Has.All.Property("finger").SameAs(Touch.fingers[1])); +// +// Assert.That(Touch.fingers[0].touchHistory[0].touchId, Is.EqualTo(1)); +// Assert.That(Touch.fingers[0].touchHistory[0].phase, Is.EqualTo(TouchPhase.Moved)); +// Assert.That(Touch.fingers[0].touchHistory[0].screenPosition, +// Is.EqualTo(new Vector2(0.789f, 0.890f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.fingers[0].touchHistory[1].touchId, Is.EqualTo(1)); +// Assert.That(Touch.fingers[0].touchHistory[1].phase, Is.EqualTo(TouchPhase.Moved)); +// Assert.That(Touch.fingers[0].touchHistory[1].screenPosition, +// Is.EqualTo(new Vector2(0.345f, 0.456f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.fingers[0].touchHistory[2].touchId, Is.EqualTo(1)); +// Assert.That(Touch.fingers[0].touchHistory[2].phase, Is.EqualTo(TouchPhase.Moved)); +// Assert.That(Touch.fingers[0].touchHistory[2].screenPosition, +// Is.EqualTo(new Vector2(0.234f, 0.345f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.fingers[0].touchHistory[3].touchId, Is.EqualTo(1)); +// Assert.That(Touch.fingers[0].touchHistory[3].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.fingers[0].touchHistory[3].screenPosition, +// Is.EqualTo(new Vector2(0.123f, 0.234f)).Using(Vector2EqualityComparer.Instance)); +// +// Assert.That(Touch.fingers[1].touchHistory[0].touchId, Is.EqualTo(3)); +// Assert.That(Touch.fingers[1].touchHistory[0].phase, Is.EqualTo(TouchPhase.Ended)); +// Assert.That(Touch.fingers[1].touchHistory[0].screenPosition, +// Is.EqualTo(new Vector2(0.333f, 0.444f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.fingers[1].touchHistory[1].touchId, Is.EqualTo(3)); +// Assert.That(Touch.fingers[1].touchHistory[1].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.fingers[1].touchHistory[1].screenPosition, +// Is.EqualTo(new Vector2(0.222f, 0.333f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.fingers[1].touchHistory[2].touchId, Is.EqualTo(2)); +// Assert.That(Touch.fingers[1].touchHistory[2].phase, Is.EqualTo(TouchPhase.Ended)); +// Assert.That(Touch.fingers[1].touchHistory[2].screenPosition, +// Is.EqualTo(new Vector2(0.111f, 0.222f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.fingers[1].touchHistory[3].touchId, Is.EqualTo(2)); +// Assert.That(Touch.fingers[1].touchHistory[3].phase, Is.EqualTo(TouchPhase.Moved)); +// Assert.That(Touch.fingers[1].touchHistory[3].screenPosition, +// Is.EqualTo(new Vector2(0.567f, 0.678f)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.fingers[1].touchHistory[4].touchId, Is.EqualTo(2)); +// Assert.That(Touch.fingers[1].touchHistory[4].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.fingers[1].touchHistory[4].screenPosition, +// Is.EqualTo(new Vector2(0.456f, 0.567f)).Using(Vector2EqualityComparer.Instance)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanReceiveCallbacksOnFingerActivity() +// { +// var receivedFingers = new List>(); +// +// Touch.onFingerDown += +// finger => receivedFingers.Add(new Tuple("Down", finger)); +// Touch.onFingerUp += +// finger => receivedFingers.Add(new Tuple("Up", finger)); +// Touch.onFingerMove += +// finger => receivedFingers.Add(new Tuple("Move", finger)); +// +// BeginTouch(1, new Vector2(0.123f, 0.234f)); +// BeginTouch(2, new Vector2(0.234f, 0.345f)); +// +// Assert.That(receivedFingers, Is.EquivalentTo(new[] +// { +// new Tuple("Down", Touch.fingers[0]), +// new Tuple("Down", Touch.fingers[1]), +// })); +// +// receivedFingers.Clear(); +// +// MoveTouch(1, new Vector2(0.345f, 0.456f)); +// MoveTouch(1, new Vector2(0.456f, 0.567f)); +// +// Assert.That(receivedFingers, Is.EquivalentTo(new[] +// { +// new Tuple("Move", Touch.fingers[0]), +// new Tuple("Move", Touch.fingers[0]), +// })); +// +// receivedFingers.Clear(); +// +// EndTouch(2, new Vector2(0.567f, 0.678f)); +// +// Assert.That(receivedFingers, Is.EquivalentTo(new[] +// { +// new Tuple("Up", Touch.fingers[1]) +// })); +// } +// +// // https://fogbugz.unity3d.com/f/cases/1286865/ +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanBeDisabledAndReenabled() +// { +// BeginTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// InputSystem.Update(); +// Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); +// +// MoveTouch(1, new Vector2(0.234f, 0.345f), queueEventOnly: true); +// InputSystem.Update(); +// Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Moved)); +// +// InputSystem.Update(); +// Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Stationary)); +// +// EnhancedTouchSupport.Disable(); +// EnhancedTouchSupport.Enable(); +// +// InputSystem.Update(); +// Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Stationary)); +// +// MoveTouch(1, new Vector2(0.123f, 0.234f), queueEventOnly: true); +// InputSystem.Update(); +// Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Moved)); +// +// InputSystem.Update(); +// Assert.That(Touch.activeTouches.Count, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Stationary)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [Property("EnhancedTouchDisabled", 1)] +// public void EnhancedTouch_CanEnableAndDisableTouchSimulation() +// { +// Assert.That(InputSystem.devices, Has.None.TypeOf()); +// +// TouchSimulation.Enable(); +// +// Assert.That(InputSystem.devices, Has.Exactly(1).AssignableTo()); +// Assert.That(TouchSimulation.instance, Is.Not.Null); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen, Is.Not.Null); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen, Is.SameAs(Touchscreen.current)); +// +// TouchSimulation.Disable(); +// +// Assert.That(InputSystem.devices, Has.None.TypeOf()); +// +// // Make sure we can re-enable it. +// TouchSimulation.Enable(); +// +// Assert.That(InputSystem.devices, Has.Exactly(1).AssignableTo()); +// +// TouchSimulation.Destroy(); +// +// Assert.That(TouchSimulation.instance, Is.Null); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [TestCase("Mouse")] +// [TestCase("Pen")] +// [TestCase("Pointer")] +// public void EnhancedTouch_CanSimulateTouchInputFrom(string layoutName) +// { +// var pointer = (Pointer)InputSystem.AddDevice(layoutName); +// +// TouchSimulation.Enable(); +// +// Set(pointer.position, new Vector2(123, 234), queueEventOnly: true); +// Press(pointer.press); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.activeTouches[0].tapCount, Is.Zero); +// Assert.That(Touch.activeTouches[0].isTap, Is.False); +// +// Move(pointer.position, new Vector2(234, 345)); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(new Vector2(111, 111)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Moved)); +// Assert.That(Touch.activeTouches[0].tapCount, Is.Zero); +// Assert.That(Touch.activeTouches[0].isTap, Is.False); +// +// Release(pointer.press); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Ended)); +// Assert.That(Touch.activeTouches[0].tapCount, Is.Zero); +// Assert.That(Touch.activeTouches[0].isTap, Is.False); +// +// PressAndRelease(pointer.press); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(2)); +// Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); // Ended comes in next frame. +// Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].isTap, Is.True); +// +// PressAndRelease(pointer.press); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(2)); +// Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Ended)); +// Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].isTap, Is.True); +// Assert.That(Touch.activeTouches[1].touchId, Is.EqualTo(3)); +// Assert.That(Touch.activeTouches[1].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[1].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[1].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[1].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.activeTouches[1].tapCount, Is.EqualTo(2)); +// Assert.That(Touch.activeTouches[1].isTap, Is.True); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(3)); +// Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Ended)); +// Assert.That(Touch.activeTouches[0].tapCount, Is.EqualTo(2)); +// Assert.That(Touch.activeTouches[0].isTap, Is.True); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Is.Empty); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_CanSimulateTouchInputFromMultiplePointers() +// { +// var pointer1 = InputSystem.AddDevice(); +// var pointer2 = InputSystem.AddDevice(); +// +// TouchSimulation.Enable(); +// +// Set(pointer1.position, new Vector2(123, 234), queueEventOnly: true); +// Set(pointer2.position, new Vector2(234, 345), queueEventOnly: true); +// Press(pointer1.press, queueEventOnly: true); +// Press(pointer2.press, queueEventOnly: true); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(2)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[0].screenPosition, Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); +// Assert.That(Touch.activeTouches[1].touchId, Is.EqualTo(2)); +// Assert.That(Touch.activeTouches[1].screen, Is.SameAs(TouchSimulation.instance.simulatedTouchscreen)); +// Assert.That(Touch.activeTouches[1].screenPosition, Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[1].delta, Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// Assert.That(Touch.activeTouches[1].phase, Is.EqualTo(TouchPhase.Began)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_TouchSimulation_CanAddAndRemovePointerDevices() +// { +// TouchSimulation.Enable(); +// +// var pointer = InputSystem.AddDevice(); +// Press(pointer.press); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// +// InputSystem.RemoveDevice(pointer); +// +// ////FIXME: This doesn't work yet as TouchSimulation isn't using events and Touch ignores input that isn't from events +// //Assert.That(Touch.activeTouches, Is.Empty); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_TouchSimulation_ProducesOneTouchFromEveryNonSyntheticButton() +// { +// const string json = @" +// { +// ""name"" : ""CustomPointer"", +// ""extend"" : ""Pointer"", +// ""controls"" : [ +// { ""name"" : ""syntheticButton"", ""layout"" : ""Button"", ""synthetic"" : true }, +// { ""name"" : ""nonSyntheticButton"", ""layout"" : ""Button"" } +// ] +// } +// "; +// +// InputSystem.RegisterLayout(json); +// var device = (Pointer)InputSystem.AddDevice("CustomPointer"); +// +// TouchSimulation.Enable(); +// +// Press((ButtonControl)device["nonSyntheticButton"]); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// +// Press((ButtonControl)device["syntheticButton"]); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].touchId, Is.EqualTo(1)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_TouchSimulation_ProducesPrimaryTouches() +// { +// var mouse = InputSystem.AddDevice(); +// +// TouchSimulation.Enable(); +// +// Set(mouse.position, new Vector2(123, 234)); +// Press(mouse.leftButton); +// +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.press.ReadValue(), Is.EqualTo(1).Within(0.00001)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.touchId.ReadValue(), Is.EqualTo(1)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.phase.ReadValue(), Is.EqualTo(TouchPhase.Began)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.position.ReadValue(), +// Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.delta.ReadValue(), +// Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// +// Set(mouse.position, new Vector2(234, 345)); +// +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.press.ReadValue(), Is.EqualTo(1).Within(0.00001)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.touchId.ReadValue(), Is.EqualTo(1)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.phase.ReadValue(), Is.EqualTo(TouchPhase.Moved)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.position.ReadValue(), +// Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.delta.ReadValue(), +// Is.EqualTo(new Vector2(111, 111)).Using(Vector2EqualityComparer.Instance)); +// +// InputSystem.Update(); +// +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.press.ReadValue(), Is.EqualTo(1).Within(0.00001)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.touchId.ReadValue(), Is.EqualTo(1)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.primaryTouch.phase.ReadValue(), Is.EqualTo(TouchPhase.Moved)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.position.ReadValue(), +// Is.EqualTo(new Vector2(234, 345)).Using(Vector2EqualityComparer.Instance)); +// Assert.That(TouchSimulation.instance.simulatedTouchscreen.delta.ReadValue(), +// Is.EqualTo(Vector2.zero).Using(Vector2EqualityComparer.Instance)); +// } +// +// // This is mostly for domain reloads. +// [Test] +// [Category("EnhancedTouch")] +// public void EnhancedTouch_TouchSimulation_ReusesSimulatedTouchscreenInstanceIfPresent() +// { +// var device = InputSystem.AddDevice("Simulated Touchscreen"); +// +// TouchSimulation.Enable(); +// +// Assert.That(TouchSimulation.instance.simulatedTouchscreen, Is.SameAs(device)); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// public unsafe void EnhancedTouch_TouchSimulation_DisablesPointerDevicesWithoutDisablingEvents() +// { +// var mouse = InputSystem.AddDevice(); +// var pen = InputSystem.AddDevice(); +// +// runtime.SetDeviceCommandCallback(mouse, (id, command) => +// { +// Assert.That(command->type, Is.Not.EqualTo(DisableDeviceCommand.Type)); +// return InputDeviceCommand.GenericFailure; +// }); +// +// TouchSimulation.Enable(); +// +// Assert.That(mouse.enabled, Is.False); +// Assert.That(pen.enabled, Is.False); +// +// InputSystem.QueueStateEvent(mouse, new MouseState +// { +// position = new Vector2(123, 234), +// }.WithButton(MouseButton.Left)); +// InputSystem.Update(); +// +// Assert.That(Touchscreen.current.touches[0].isInProgress, Is.True); +// Assert.That(Touchscreen.current.touches[0].position.ReadValue(), Is.EqualTo(new Vector2(123, 234))); +// } +// +// [Test] +// [Category("EnhancedTouch")] +// [TestCase(true)] +// [TestCase(false)] +// public void EnhancedTouch_ActiveTouchesGetCanceledOnFocusLoss_WithRunInBackgroundBeing(bool runInBackground) +// { +// runtime.runInBackground = runInBackground; +// +// BeginTouch(1, new Vector2(123, 456)); +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Began)); +// +// runtime.PlayerFocusLost(); +// +// if (runInBackground) +// { +// // When running in the background, next update after focus loss sees touches cancelled +// // and update after that sees them gone. +// InputSystem.Update(InputUpdateType.Dynamic); +// } +// else +// { +// // When not running in the background, the same thing happens but only on focus gain. +// runtime.PlayerFocusGained(); +// InputSystem.Update(); +// } +// +// Assert.That(Touch.activeTouches, Has.Count.EqualTo(1)); +// Assert.That(Touch.activeTouches[0].phase, Is.EqualTo(TouchPhase.Canceled)); +// +// InputSystem.Update(); +// +// Assert.That(Touch.activeTouches, Is.Empty); +// } +// } diff --git a/Assets/Tests/InputSystem/Plugins/UITests.cs b/Assets/Tests/InputSystem/Plugins/UITests.cs index fe077139b0..b47090b75a 100644 --- a/Assets/Tests/InputSystem/Plugins/UITests.cs +++ b/Assets/Tests/InputSystem/Plugins/UITests.cs @@ -1990,121 +1990,121 @@ public IEnumerator UI_CanReleaseAndPressTouchesOnSameFrame() } // https://fogbugz.unity3d.com/f/cases/1190150/ - [UnityTest] - [Category("UI")] - public IEnumerator UI_CanUseTouchSimulationWithUI() - { - var mouse = InputSystem.AddDevice(); - - var scene = CreateTestUI(); - scene.uiModule.AssignDefaultActions(); - TouchSimulation.Enable(); - - // https://fogbugz.unity3d.com/f/cases/1330014/ - // Scale the left button down on X just a little bit so as to give us some space where we can hit nothing. - // This makes sure that if the code ends up putting something at (0,0), it'll hit nothing. - ((RectTransform)scene.leftGameObject.transform).localScale = new Vector3(0.95f, 1, 1); - - try - { - yield return null; - scene.leftChildReceiver.events.Clear(); - - InputSystem.QueueStateEvent(mouse, new MouseState - { - position = scene.From640x480ToScreen(180, 180) - }.WithButton(MouseButton.Left)); - InputSystem.Update(); - - yield return null; - - Assert.That(scene.uiModule.m_CurrentPointerType, Is.EqualTo(UIPointerType.Touch)); - Assert.That(scene.uiModule.m_PointerIds.length, Is.EqualTo(1)); - Assert.That(scene.leftChildReceiver.events, - EventSequence( - AllEvents("pointerType", UIPointerType.Touch), - AllEvents("touchId", 1), - AllEvents("position", scene.From640x480ToScreen(180, 180)), - OneEvent("type", EventType.PointerEnter) -#if UNITY_2021_2_OR_NEWER - , OneEvent("type", EventType.PointerMove) -#endif - , OneEvent("type", EventType.PointerDown) - , OneEvent("type", EventType.InitializePotentialDrag) - ) - ); - - scene.leftChildReceiver.events.Clear(); - - Release(mouse.leftButton); - yield return null; - - // Touch pointer record lingers for one frame. - - Assert.That(scene.uiModule.m_CurrentPointerType, Is.EqualTo(UIPointerType.Touch)); - Assert.That(scene.uiModule.m_PointerIds.length, Is.EqualTo(1)); - Assert.That(scene.leftChildReceiver.events, - EventSequence( - AllEvents("pointerType", UIPointerType.Touch), - AllEvents("touchId", 1), - AllEvents("position", scene.From640x480ToScreen(180, 180)), - OneEvent("type", EventType.PointerUp), - OneEvent("type", EventType.PointerClick) - ) - ); - - scene.leftChildReceiver.events.Clear(); - - yield return null; - - Assert.That(scene.uiModule.m_CurrentPointerType, Is.EqualTo(UIPointerType.None)); - Assert.That(scene.uiModule.m_PointerIds.length, Is.Zero); - Assert.That(scene.leftChildReceiver.events, - EventSequence( - AllEvents("pointerType", UIPointerType.Touch), - AllEvents("touchId", 1), - AllEvents("position", scene.From640x480ToScreen(180, 180)), - OneEvent("type", EventType.PointerExit) - ) - ); - - scene.leftChildReceiver.events.Clear(); - - yield return null; - Press(mouse.leftButton); - yield return null; - - Assert.That(scene.leftChildReceiver.events, - EventSequence( - AllEvents("pointerType", UIPointerType.Touch), - AllEvents("touchId", 2), - AllEvents("position", scene.From640x480ToScreen(180, 180)), - OneEvent("type", EventType.PointerEnter), - OneEvent("type", EventType.PointerDown), - OneEvent("type", EventType.InitializePotentialDrag) - ) - ); - - scene.leftChildReceiver.events.Clear(); - - Release(mouse.leftButton); - yield return null; - - Assert.That(scene.leftChildReceiver.events, - EventSequence( - AllEvents("pointerType", UIPointerType.Touch), - AllEvents("touchId", 2), - AllEvents("position", scene.From640x480ToScreen(180, 180)), - OneEvent("type", EventType.PointerUp), - OneEvent("type", EventType.PointerClick) - ) - ); - } - finally - { - TouchSimulation.Disable(); - } - } +// [UnityTest] +// [Category("UI")] +// public IEnumerator UI_CanUseTouchSimulationWithUI() +// { +// var mouse = InputSystem.AddDevice(); +// +// var scene = CreateTestUI(); +// scene.uiModule.AssignDefaultActions(); +// TouchSimulation.Enable(); +// +// // https://fogbugz.unity3d.com/f/cases/1330014/ +// // Scale the left button down on X just a little bit so as to give us some space where we can hit nothing. +// // This makes sure that if the code ends up putting something at (0,0), it'll hit nothing. +// ((RectTransform)scene.leftGameObject.transform).localScale = new Vector3(0.95f, 1, 1); +// +// try +// { +// yield return null; +// scene.leftChildReceiver.events.Clear(); +// +// InputSystem.QueueStateEvent(mouse, new MouseState +// { +// position = scene.From640x480ToScreen(180, 180) +// }.WithButton(MouseButton.Left)); +// InputSystem.Update(); +// +// yield return null; +// +// Assert.That(scene.uiModule.m_CurrentPointerType, Is.EqualTo(UIPointerType.Touch)); +// Assert.That(scene.uiModule.m_PointerIds.length, Is.EqualTo(1)); +// Assert.That(scene.leftChildReceiver.events, +// EventSequence( +// AllEvents("pointerType", UIPointerType.Touch), +// AllEvents("touchId", 1), +// AllEvents("position", scene.From640x480ToScreen(180, 180)), +// OneEvent("type", EventType.PointerEnter) +// #if UNITY_2021_2_OR_NEWER +// , OneEvent("type", EventType.PointerMove) +// #endif +// , OneEvent("type", EventType.PointerDown) +// , OneEvent("type", EventType.InitializePotentialDrag) +// ) +// ); +// +// scene.leftChildReceiver.events.Clear(); +// +// Release(mouse.leftButton); +// yield return null; +// +// // Touch pointer record lingers for one frame. +// +// Assert.That(scene.uiModule.m_CurrentPointerType, Is.EqualTo(UIPointerType.Touch)); +// Assert.That(scene.uiModule.m_PointerIds.length, Is.EqualTo(1)); +// Assert.That(scene.leftChildReceiver.events, +// EventSequence( +// AllEvents("pointerType", UIPointerType.Touch), +// AllEvents("touchId", 1), +// AllEvents("position", scene.From640x480ToScreen(180, 180)), +// OneEvent("type", EventType.PointerUp), +// OneEvent("type", EventType.PointerClick) +// ) +// ); +// +// scene.leftChildReceiver.events.Clear(); +// +// yield return null; +// +// Assert.That(scene.uiModule.m_CurrentPointerType, Is.EqualTo(UIPointerType.None)); +// Assert.That(scene.uiModule.m_PointerIds.length, Is.Zero); +// Assert.That(scene.leftChildReceiver.events, +// EventSequence( +// AllEvents("pointerType", UIPointerType.Touch), +// AllEvents("touchId", 1), +// AllEvents("position", scene.From640x480ToScreen(180, 180)), +// OneEvent("type", EventType.PointerExit) +// ) +// ); +// +// scene.leftChildReceiver.events.Clear(); +// +// yield return null; +// Press(mouse.leftButton); +// yield return null; +// +// Assert.That(scene.leftChildReceiver.events, +// EventSequence( +// AllEvents("pointerType", UIPointerType.Touch), +// AllEvents("touchId", 2), +// AllEvents("position", scene.From640x480ToScreen(180, 180)), +// OneEvent("type", EventType.PointerEnter), +// OneEvent("type", EventType.PointerDown), +// OneEvent("type", EventType.InitializePotentialDrag) +// ) +// ); +// +// scene.leftChildReceiver.events.Clear(); +// +// Release(mouse.leftButton); +// yield return null; +// +// Assert.That(scene.leftChildReceiver.events, +// EventSequence( +// AllEvents("pointerType", UIPointerType.Touch), +// AllEvents("touchId", 2), +// AllEvents("position", scene.From640x480ToScreen(180, 180)), +// OneEvent("type", EventType.PointerUp), +// OneEvent("type", EventType.PointerClick) +// ) +// ); +// } +// finally +// { +// TouchSimulation.Disable(); +// } +// } [UnityTest] [Category("UI")] @@ -3793,175 +3793,175 @@ public IEnumerator TODO_UI_CanStartNavigationWhenNothingIsSelected() Assert.That(scene.eventSystem.currentSelectedGameObject, Is.SameAs(scene.leftGameObject)); } - [Test] - [Category("UI")] - public void UI_CanDriveVirtualMouseCursorFromGamepad() - { - const float kCursorSpeed = 100; - const float kScrollSpeed = 25; - - var eventSystemGO = new GameObject(); - eventSystemGO.SetActive(false); - eventSystemGO.AddComponent(); - eventSystemGO.AddComponent(); - - var canvasGO = new GameObject(); - canvasGO.SetActive(false); - canvasGO.AddComponent(); - - var cursorGO = new GameObject(); - cursorGO.SetActive(false); - var cursorTransform = cursorGO.AddComponent(); - var cursorInput = cursorGO.AddComponent(); - cursorInput.cursorSpeed = kCursorSpeed; - cursorInput.scrollSpeed = kScrollSpeed; - cursorInput.cursorTransform = cursorTransform; - cursorTransform.SetParent(canvasGO.transform, worldPositionStays: false); - cursorTransform.pivot = new Vector2(0.5f, 0.5f); - cursorTransform.anchorMin = Vector2.zero; - cursorTransform.anchorMax = Vector2.zero; - cursorTransform.anchoredPosition = new Vector2(123, 234); - - var positionAction = new InputAction(type: InputActionType.Value, binding: "/*stick"); - var leftButtonAction = new InputAction(binding: "/buttonSouth"); - var rightButtonAction = new InputAction(binding: "/rightShoulder"); - var middleButtonAction = new InputAction(binding: "/leftShoulder"); - var forwardButtonAction = new InputAction(binding: "/buttonWest"); - var backButtonAction = new InputAction(binding: "/buttonEast"); - var scrollWheelAction = new InputAction(); - scrollWheelAction.AddCompositeBinding("2DVector(mode=2)") - .With("Up", "/leftTrigger") - .With("Down", "/rightTrigger") - .With("Left", "/dpad/left") - .With("Right", "/dpad/right"); - - cursorInput.stickAction = new InputActionProperty(positionAction); - cursorInput.leftButtonAction = new InputActionProperty(leftButtonAction); - cursorInput.rightButtonAction = new InputActionProperty(rightButtonAction); - cursorInput.middleButtonAction = new InputActionProperty(middleButtonAction); - cursorInput.scrollWheelAction = new InputActionProperty(scrollWheelAction); - cursorInput.forwardButtonAction = new InputActionProperty(forwardButtonAction); - cursorInput.backButtonAction = new InputActionProperty(backButtonAction); - - var gamepad = InputSystem.AddDevice(); - - // Get rid of deadzones to simplify computations. - InputSystem.settings.defaultDeadzoneMin = 0; - InputSystem.settings.defaultDeadzoneMax = 1; - - eventSystemGO.SetActive(true); - canvasGO.SetActive(true); - cursorGO.SetActive(true); - - // Make sure the component added a virtual mouse. - var virtualMouse = Mouse.current; - Assert.That(virtualMouse, Is.Not.Null); - Assert.That(virtualMouse.layout, Is.EqualTo("VirtualMouse")); - Assert.That(cursorInput.virtualMouse, Is.SameAs(virtualMouse)); - - // Make sure we can disable and re-enable the component. - cursorGO.SetActive(false); - - Assert.That(Mouse.current, Is.Null); - - cursorGO.SetActive(true); - - Assert.That(Mouse.current, Is.Not.Null); - Assert.That(Mouse.current, Is.SameAs(virtualMouse)); - - // Ensure everything is at default values. - // Starting position should be that of the cursor's initial transform. - Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); - Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(Vector2.zero)); - Assert.That(virtualMouse.scroll.ReadValue(), Is.EqualTo(Vector2.zero)); - Assert.That(virtualMouse.leftButton.isPressed, Is.False); - Assert.That(virtualMouse.rightButton.isPressed, Is.False); - Assert.That(virtualMouse.middleButton.isPressed, Is.False); - Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123, 234))); - - // Now move the mouse cursor with the left stick and ensure we get a response. - currentTime = 1; - Set(gamepad.leftStick, new Vector2(0.25f, 0.75f)); - - // No time has passed yet so first frame shouldn't move at all. - Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); - Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(Vector2.zero)); - Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123, 234))); - - currentTime = 1.4; - InputSystem.Update(); - - const float kFirstDeltaX = kCursorSpeed * 0.25f * 0.4f; - const float kFirstDeltaY = kCursorSpeed * 0.75f * 0.4f; - - Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123 + kFirstDeltaX, 234 + kFirstDeltaY)).Using(Vector2EqualityComparer.Instance)); - Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(new Vector2(kFirstDeltaX, kFirstDeltaY)).Using(Vector2EqualityComparer.Instance)); - Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123 + kFirstDeltaX, 234 + kFirstDeltaY)).Using(Vector2EqualityComparer.Instance)); - - // Each update should move the cursor along while the stick is actuated. - currentTime = 2; - InputSystem.Update(); - - const float kSecondDeltaX = kCursorSpeed * 0.25f * 0.6f; - const float kSecondDeltaY = kCursorSpeed * 0.75f * 0.6f; - - Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX, 234 + kFirstDeltaY + kSecondDeltaY)).Using(Vector2EqualityComparer.Instance)); - Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(new Vector2(kSecondDeltaX, kSecondDeltaY)).Using(Vector2EqualityComparer.Instance)); - Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX, 234 + kFirstDeltaY + kSecondDeltaY)).Using(Vector2EqualityComparer.Instance)); - - // Only the final state of the stick in an update should matter. - currentTime = 3; - InputSystem.QueueStateEvent(gamepad, new GamepadState { leftStick = new Vector2(0.34f, 0.45f)}); - InputSystem.QueueStateEvent(gamepad, new GamepadState { leftStick = new Vector2(0.45f, 0.56f)}); - InputSystem.Update(); - - const float kThirdDeltaX = kCursorSpeed * 0.45f; - const float kThirdDeltaY = kCursorSpeed * 0.56f; - - Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX + kThirdDeltaX, 234 + kFirstDeltaY + kSecondDeltaY + kThirdDeltaY)).Using(Vector2EqualityComparer.Instance)); - Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(new Vector2(kThirdDeltaX, kThirdDeltaY)).Using(Vector2EqualityComparer.Instance)); - Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX + kThirdDeltaX, 234 + kFirstDeltaY + kSecondDeltaY + kThirdDeltaY)).Using(Vector2EqualityComparer.Instance)); - - var leftClickAction = new InputAction(binding: "/leftButton"); - var middleClickAction = new InputAction(binding: "/middleButton"); - var rightClickAction = new InputAction(binding: "/rightButton"); - var forwardClickAction = new InputAction(binding: "/forwardButton"); - var backClickAction = new InputAction(binding: "/backButton"); - var scrollAction = new InputAction(binding: "/scroll"); - - leftClickAction.Enable(); - middleClickAction.Enable(); - rightClickAction.Enable(); - forwardClickAction.Enable(); - backClickAction.Enable(); - scrollAction.Enable(); - - // Press buttons. - PressAndRelease(gamepad.buttonSouth); - Assert.That(leftClickAction.triggered); - PressAndRelease(gamepad.rightShoulder); - Assert.That(rightClickAction.triggered); - PressAndRelease(gamepad.leftShoulder); - Assert.That(middleClickAction.triggered); - PressAndRelease(gamepad.buttonWest); - Assert.That(forwardClickAction.triggered); - PressAndRelease(gamepad.buttonEast); - Assert.That(backClickAction.triggered); - - // Scroll wheel. - Set(gamepad.leftTrigger, 0.5f); - Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, kScrollSpeed * 0.5f)).Using(Vector2EqualityComparer.Instance)); - Set(gamepad.rightTrigger, 0.3f); - Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, kScrollSpeed * (0.5f - 0.3f))).Using(Vector2EqualityComparer.Instance)); - Set(gamepad.leftTrigger, 0); - Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); - Press(gamepad.dpad.left); - Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(-kScrollSpeed, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); - Press(gamepad.dpad.right); - Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); - Release(gamepad.dpad.left); - Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(kScrollSpeed, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); - } + // [Test] + // [Category("UI")] + // public void UI_CanDriveVirtualMouseCursorFromGamepad() + // { + // const float kCursorSpeed = 100; + // const float kScrollSpeed = 25; + // + // var eventSystemGO = new GameObject(); + // eventSystemGO.SetActive(false); + // eventSystemGO.AddComponent(); + // eventSystemGO.AddComponent(); + // + // var canvasGO = new GameObject(); + // canvasGO.SetActive(false); + // canvasGO.AddComponent(); + // + // var cursorGO = new GameObject(); + // cursorGO.SetActive(false); + // var cursorTransform = cursorGO.AddComponent(); + // var cursorInput = cursorGO.AddComponent(); + // cursorInput.cursorSpeed = kCursorSpeed; + // cursorInput.scrollSpeed = kScrollSpeed; + // cursorInput.cursorTransform = cursorTransform; + // cursorTransform.SetParent(canvasGO.transform, worldPositionStays: false); + // cursorTransform.pivot = new Vector2(0.5f, 0.5f); + // cursorTransform.anchorMin = Vector2.zero; + // cursorTransform.anchorMax = Vector2.zero; + // cursorTransform.anchoredPosition = new Vector2(123, 234); + // + // var positionAction = new InputAction(type: InputActionType.Value, binding: "/*stick"); + // var leftButtonAction = new InputAction(binding: "/buttonSouth"); + // var rightButtonAction = new InputAction(binding: "/rightShoulder"); + // var middleButtonAction = new InputAction(binding: "/leftShoulder"); + // var forwardButtonAction = new InputAction(binding: "/buttonWest"); + // var backButtonAction = new InputAction(binding: "/buttonEast"); + // var scrollWheelAction = new InputAction(); + // scrollWheelAction.AddCompositeBinding("2DVector(mode=2)") + // .With("Up", "/leftTrigger") + // .With("Down", "/rightTrigger") + // .With("Left", "/dpad/left") + // .With("Right", "/dpad/right"); + // + // cursorInput.stickAction = new InputActionProperty(positionAction); + // cursorInput.leftButtonAction = new InputActionProperty(leftButtonAction); + // cursorInput.rightButtonAction = new InputActionProperty(rightButtonAction); + // cursorInput.middleButtonAction = new InputActionProperty(middleButtonAction); + // cursorInput.scrollWheelAction = new InputActionProperty(scrollWheelAction); + // cursorInput.forwardButtonAction = new InputActionProperty(forwardButtonAction); + // cursorInput.backButtonAction = new InputActionProperty(backButtonAction); + // + // var gamepad = InputSystem.AddDevice(); + // + // // Get rid of deadzones to simplify computations. + // InputSystem.settings.defaultDeadzoneMin = 0; + // InputSystem.settings.defaultDeadzoneMax = 1; + // + // eventSystemGO.SetActive(true); + // canvasGO.SetActive(true); + // cursorGO.SetActive(true); + // + // // Make sure the component added a virtual mouse. + // var virtualMouse = Mouse.current; + // Assert.That(virtualMouse, Is.Not.Null); + // Assert.That(virtualMouse.layout, Is.EqualTo("VirtualMouse")); + // Assert.That(cursorInput.virtualMouse, Is.SameAs(virtualMouse)); + // + // // Make sure we can disable and re-enable the component. + // cursorGO.SetActive(false); + // + // Assert.That(Mouse.current, Is.Null); + // + // cursorGO.SetActive(true); + // + // Assert.That(Mouse.current, Is.Not.Null); + // Assert.That(Mouse.current, Is.SameAs(virtualMouse)); + // + // // Ensure everything is at default values. + // // Starting position should be that of the cursor's initial transform. + // Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(Vector2.zero)); + // Assert.That(virtualMouse.scroll.ReadValue(), Is.EqualTo(Vector2.zero)); + // Assert.That(virtualMouse.leftButton.isPressed, Is.False); + // Assert.That(virtualMouse.rightButton.isPressed, Is.False); + // Assert.That(virtualMouse.middleButton.isPressed, Is.False); + // Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123, 234))); + // + // // Now move the mouse cursor with the left stick and ensure we get a response. + // currentTime = 1; + // Set(gamepad.leftStick, new Vector2(0.25f, 0.75f)); + // + // // No time has passed yet so first frame shouldn't move at all. + // Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123, 234)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(Vector2.zero)); + // Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123, 234))); + // + // currentTime = 1.4; + // InputSystem.Update(); + // + // const float kFirstDeltaX = kCursorSpeed * 0.25f * 0.4f; + // const float kFirstDeltaY = kCursorSpeed * 0.75f * 0.4f; + // + // Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123 + kFirstDeltaX, 234 + kFirstDeltaY)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(new Vector2(kFirstDeltaX, kFirstDeltaY)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123 + kFirstDeltaX, 234 + kFirstDeltaY)).Using(Vector2EqualityComparer.Instance)); + // + // // Each update should move the cursor along while the stick is actuated. + // currentTime = 2; + // InputSystem.Update(); + // + // const float kSecondDeltaX = kCursorSpeed * 0.25f * 0.6f; + // const float kSecondDeltaY = kCursorSpeed * 0.75f * 0.6f; + // + // Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX, 234 + kFirstDeltaY + kSecondDeltaY)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(new Vector2(kSecondDeltaX, kSecondDeltaY)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX, 234 + kFirstDeltaY + kSecondDeltaY)).Using(Vector2EqualityComparer.Instance)); + // + // // Only the final state of the stick in an update should matter. + // currentTime = 3; + // InputSystem.QueueStateEvent(gamepad, new GamepadState { leftStick = new Vector2(0.34f, 0.45f)}); + // InputSystem.QueueStateEvent(gamepad, new GamepadState { leftStick = new Vector2(0.45f, 0.56f)}); + // InputSystem.Update(); + // + // const float kThirdDeltaX = kCursorSpeed * 0.45f; + // const float kThirdDeltaY = kCursorSpeed * 0.56f; + // + // Assert.That(virtualMouse.position.ReadValue(), Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX + kThirdDeltaX, 234 + kFirstDeltaY + kSecondDeltaY + kThirdDeltaY)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(virtualMouse.delta.ReadValue(), Is.EqualTo(new Vector2(kThirdDeltaX, kThirdDeltaY)).Using(Vector2EqualityComparer.Instance)); + // Assert.That(cursorTransform.anchoredPosition, Is.EqualTo(new Vector2(123 + kFirstDeltaX + kSecondDeltaX + kThirdDeltaX, 234 + kFirstDeltaY + kSecondDeltaY + kThirdDeltaY)).Using(Vector2EqualityComparer.Instance)); + // + // var leftClickAction = new InputAction(binding: "/leftButton"); + // var middleClickAction = new InputAction(binding: "/middleButton"); + // var rightClickAction = new InputAction(binding: "/rightButton"); + // var forwardClickAction = new InputAction(binding: "/forwardButton"); + // var backClickAction = new InputAction(binding: "/backButton"); + // var scrollAction = new InputAction(binding: "/scroll"); + // + // leftClickAction.Enable(); + // middleClickAction.Enable(); + // rightClickAction.Enable(); + // forwardClickAction.Enable(); + // backClickAction.Enable(); + // scrollAction.Enable(); + // + // // Press buttons. + // PressAndRelease(gamepad.buttonSouth); + // Assert.That(leftClickAction.triggered); + // PressAndRelease(gamepad.rightShoulder); + // Assert.That(rightClickAction.triggered); + // PressAndRelease(gamepad.leftShoulder); + // Assert.That(middleClickAction.triggered); + // PressAndRelease(gamepad.buttonWest); + // Assert.That(forwardClickAction.triggered); + // PressAndRelease(gamepad.buttonEast); + // Assert.That(backClickAction.triggered); + // + // // Scroll wheel. + // Set(gamepad.leftTrigger, 0.5f); + // Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, kScrollSpeed * 0.5f)).Using(Vector2EqualityComparer.Instance)); + // Set(gamepad.rightTrigger, 0.3f); + // Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, kScrollSpeed * (0.5f - 0.3f))).Using(Vector2EqualityComparer.Instance)); + // Set(gamepad.leftTrigger, 0); + // Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); + // Press(gamepad.dpad.left); + // Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(-kScrollSpeed, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); + // Press(gamepad.dpad.right); + // Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(0, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); + // Release(gamepad.dpad.left); + // Assert.That(scrollAction.ReadValue(), Is.EqualTo(new Vector2(kScrollSpeed, -kScrollSpeed * 0.3f)).Using(Vector2EqualityComparer.Instance)); + // } // Strictly speaking, this functionality is available as of 2021.1 but we can't add a reference to the "com.unity.ui" package // to our manifest without breaking test runs with previous versions of Unity. However, in 2021.2, all the UITK functionality diff --git a/Assets/Tests/InputSystem/Unity.InputSystem.Tests.asmdef b/Assets/Tests/InputSystem/Unity.InputSystem.Tests.asmdef index 6510b4106f..9e139de463 100644 --- a/Assets/Tests/InputSystem/Unity.InputSystem.Tests.asmdef +++ b/Assets/Tests/InputSystem/Unity.InputSystem.Tests.asmdef @@ -10,7 +10,8 @@ "UnityEditor.TestRunner", "Unity.PerformanceTesting", "Unity.Coding.Editor", - "Unity.InputSystem.ForUI" + "Unity.InputSystem.ForUI", + "Unity.InputSystem.Editor" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/Assets/Tests/Samples/Unity.InputSystem.Samples.Tests.asmdef b/Assets/Tests/Samples/Unity.InputSystem.Samples.Tests.asmdef index 860514ede5..4fd0fc0762 100644 --- a/Assets/Tests/Samples/Unity.InputSystem.Samples.Tests.asmdef +++ b/Assets/Tests/Samples/Unity.InputSystem.Samples.Tests.asmdef @@ -1,5 +1,6 @@ { "name": "Unity.InputSystem.Samples.Tests", + "rootNamespace": "", "references": [ "GUID:75469ad4d38634e559750d17036d5f7c", "GUID:dc04f38471c3a459fb4d31124ee9127d", @@ -8,7 +9,9 @@ "GUID:0acc523941302664db1f4e527237feb3", "GUID:043547d79c83ab74e9bcfef914059964", "GUID:157556569ac93a94fb6a763f50476339", - "GUID:813ed4fded4e24cc69d83a9178f8fede" + "GUID:813ed4fded4e24cc69d83a9178f8fede", + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [], "excludePlatforms": [], @@ -21,5 +24,6 @@ "defineConstraints": [ "UNITY_INCLUDE_TESTS" ], - "versionDefines": [] + "versionDefines": [], + "noEngineReferences": false } \ No newline at end of file diff --git a/Assets/Tools/RegeneratePrecompiledLayouts.cs b/Assets/Tools/RegeneratePrecompiledLayouts.cs index 268322cbd1..799c412955 100644 --- a/Assets/Tools/RegeneratePrecompiledLayouts.cs +++ b/Assets/Tools/RegeneratePrecompiledLayouts.cs @@ -48,7 +48,7 @@ private static void GeneratePrecompiledLayouts(string path) [MenuItem("QA Tools/Regenerate Precompiled Layouts", priority = 20)] private static void GeneratePrecompiledLayouts() { - GeneratePrecompiledLayouts("Packages/com.unity.inputsystem/InputSystem/Devices/Precompiled"); + GeneratePrecompiledLayouts("Packages/com.unity.inputsystem/Runtime/Devices/Precompiled"); } } } diff --git a/Assets/Tools/Unity.InputSystem.EditorDevelopmentTools.asmdef b/Assets/Tools/Unity.InputSystem.EditorDevelopmentTools.asmdef index 2f986f5a8a..11bafa43b2 100644 --- a/Assets/Tools/Unity.InputSystem.EditorDevelopmentTools.asmdef +++ b/Assets/Tools/Unity.InputSystem.EditorDevelopmentTools.asmdef @@ -2,7 +2,8 @@ "name": "Unity.InputSystem.EditorDevelopmentTools", "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c" + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [ "Editor" diff --git a/Packages/com.unity.inputsystem/DocCodeSamples.Tests/DocCodeSamples.asmdef b/Packages/com.unity.inputsystem/DocCodeSamples.Tests/DocCodeSamples.asmdef index 6e8b6248e1..a2958bfab9 100644 --- a/Packages/com.unity.inputsystem/DocCodeSamples.Tests/DocCodeSamples.asmdef +++ b/Packages/com.unity.inputsystem/DocCodeSamples.Tests/DocCodeSamples.asmdef @@ -2,7 +2,8 @@ "name": "Unity.InputSystem.DocCodeSamples", "rootNamespace": "", "references": [ - "GUID:75469ad4d38634e559750d17036d5f7c" + "GUID:d46adbc216ac24e9a86f26d7a54b2384", + "GUID:92e8d8d0b9a5e4f44b24c3e04451d190" ], "includePlatforms": [ "Editor" diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor.meta b/Packages/com.unity.inputsystem/Editor.meta similarity index 77% rename from Packages/com.unity.inputsystem/InputSystem/Editor.meta rename to Packages/com.unity.inputsystem/Editor.meta index 8180fda375..be05d19c2d 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor.meta +++ b/Packages/com.unity.inputsystem/Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ee6ce8b9ba0db4146b0b12d5985933bf +guid: 0b7bda0ba8124480691d0d615a642b91 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Packages/com.unity.inputsystem/InputSystem.meta b/Packages/com.unity.inputsystem/Editor/Actions.meta similarity index 77% rename from Packages/com.unity.inputsystem/InputSystem.meta rename to Packages/com.unity.inputsystem/Editor/Actions.meta index 71532ee692..9a86dce177 100644 --- a/Packages/com.unity.inputsystem/InputSystem.meta +++ b/Packages/com.unity.inputsystem/Editor/Actions.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7be622e2320c433e83fcfd2dbb7bd468 +guid: bcff3f2833bb241549d7b4be7dddc1de folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Composites.meta b/Packages/com.unity.inputsystem/Editor/Actions/Composites.meta new file mode 100644 index 0000000000..f1c300d249 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Composites.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cfd47b21b6c654315bf28318c87beb98 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Composites/AxisCompositeEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Composites/AxisCompositeEditor.cs new file mode 100644 index 0000000000..114938fdcf --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Composites/AxisCompositeEditor.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Composites +{ + #if UNITY_EDITOR + internal class AxisCompositeEditor : InputParameterEditor + { + private const string label = "Which Side Wins"; + private const string tooltipText = "Determine which axis 'wins' if both are actuated at the same time. " + + "If 'Neither' is selected, the result is 0 (or, more precisely, " + + "the midpoint between minValue and maxValue)."; + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + var modeField = new EnumField(label, target.whichSideWins) + { + tooltip = tooltipText + }; + + modeField.RegisterValueChangedCallback(evt => + { + target.whichSideWins = (AxisComposite.WhichSideWins)evt.newValue; + onChangedCallback(); + }); + + root.Add(modeField); + } + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Composites/AxisCompositeEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Composites/AxisCompositeEditor.cs.meta new file mode 100644 index 0000000000..c4c7f26dab --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Composites/AxisCompositeEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 504f28d05365c4127b7216fd72484311 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector2CompositeEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector2CompositeEditor.cs new file mode 100644 index 0000000000..73c52c8323 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector2CompositeEditor.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Composites +{ + #if UNITY_EDITOR + internal class Vector2CompositeEditor : InputParameterEditor + { + private const string label = "Mode"; + private const string tooltipText = "How to synthesize a Vector2 from the inputs. Digital " + + "treats part bindings as buttons (on/off) whereas Analog preserves " + + "floating-point magnitudes as read from controls."; + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + var modeField = new EnumField(label, target.mode) + { + tooltip = tooltipText + }; + + modeField.RegisterValueChangedCallback(evt => + { + target.mode = (Vector2Composite.Mode)evt.newValue; + onChangedCallback(); + }); + + root.Add(modeField); + } + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector2CompositeEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector2CompositeEditor.cs.meta new file mode 100644 index 0000000000..41d4b3ca73 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector2CompositeEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 0eb07b1cf75d04357a7fbd95093f1fa9 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector3CompositeEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector3CompositeEditor.cs new file mode 100644 index 0000000000..76a1f4efb2 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector3CompositeEditor.cs @@ -0,0 +1,36 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Composites +{ + #if UNITY_EDITOR + internal class Vector3CompositeEditor : InputParameterEditor + { + private const string label = "Mode"; + private const string tooltip = "How to synthesize a Vector3 from the inputs. Digital " + + "treats part bindings as buttons (on/off) whereas Analog preserves " + + "floating-point magnitudes as read from controls."; + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + var modeField = new EnumField(label, target.mode) + { + tooltip = tooltip + }; + + modeField.RegisterValueChangedCallback(evt => + { + target.mode = (Vector3Composite.Mode)evt.newValue; + onChangedCallback(); + }); + + root.Add(modeField); + } + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector3CompositeEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector3CompositeEditor.cs.meta new file mode 100644 index 0000000000..241155e999 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Composites/Vector3CompositeEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: d9d2c9fcdc7f646d083ee2360d5139bb \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/InputControlSchemeEditorExtensions.cs b/Packages/com.unity.inputsystem/Editor/Actions/InputControlSchemeEditorExtensions.cs new file mode 100644 index 0000000000..163cf37fb3 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/InputControlSchemeEditorExtensions.cs @@ -0,0 +1,37 @@ +using System.Collections.Generic; +using UnityEditor; + +namespace UnityEngine.InputSystem.Editor +{ + /// + /// Editor extensions for InputControlScheme to handle SerializedProperty construction. + /// + internal static class InputControlSchemeEditorExtensions + { + /// + /// Creates an InputControlScheme from a SerializedProperty. + /// + public static InputControlScheme FromSerializedProperty(SerializedProperty sp) + { + var requirements = new List(); + var deviceRequirementsArray = sp.FindPropertyRelative("m_DeviceRequirements"); + if (deviceRequirementsArray == null) + throw new System.ArgumentException("The serialized property does not contain an InputControlScheme object."); + + foreach (SerializedProperty deviceRequirement in deviceRequirementsArray) + { + requirements.Add(new InputControlScheme.DeviceRequirement + { + controlPath = deviceRequirement.FindPropertyRelative("m_ControlPath").stringValue, + m_Flags = (InputControlScheme.DeviceRequirement.Flags)deviceRequirement.FindPropertyRelative("m_Flags").enumValueFlag + }); + } + + var scheme = new InputControlScheme(); + scheme.m_Name = sp.FindPropertyRelative("m_Name").stringValue; + scheme.m_DeviceRequirements = requirements.ToArray(); + scheme.m_BindingGroup = sp.FindPropertyRelative("m_BindingGroup").stringValue; + return scheme; + } + } +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/InputControlSchemeEditorExtensions.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/InputControlSchemeEditorExtensions.cs.meta new file mode 100644 index 0000000000..6a0e1e2c98 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/InputControlSchemeEditorExtensions.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 87e3bb948c7f2482a8f4f57942832312 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions.meta b/Packages/com.unity.inputsystem/Editor/Actions/Interactions.meta new file mode 100644 index 0000000000..496dd2c1c2 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4bf910aee5784821a3ebd59e4cdac79 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/HoldInteractionEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/HoldInteractionEditor.cs new file mode 100644 index 0000000000..b2ced3b13a --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/HoldInteractionEditor.cs @@ -0,0 +1,40 @@ +using System; +using UnityEngine.InputSystem.Controls; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Interactions +{ + #if UNITY_EDITOR + /// + /// UI that is displayed when editing in the editor. + /// + internal class HoldInteractionEditor : InputParameterEditor + { + protected override void OnEnable() + { + m_PressPointSetting.Initialize("Press Point", + "Float value that an axis control has to cross for it to be considered pressed.", + "Default Button Press Point", + () => target.pressPoint, v => target.pressPoint = v, () => ButtonControl.s_GlobalDefaultButtonPressPoint); + m_DurationSetting.Initialize("Hold Time", + "Time (in seconds) that a control has to be held in order for it to register as a hold.", + "Default Hold Time", + () => target.duration, x => target.duration = x, () => InputSystem.settings.defaultHoldTime); + } + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + m_PressPointSetting.OnDrawVisualElements(root, onChangedCallback); + m_DurationSetting.OnDrawVisualElements(root, onChangedCallback); + } + + private CustomOrDefaultSetting m_PressPointSetting; + private CustomOrDefaultSetting m_DurationSetting; + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/HoldInteractionEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/HoldInteractionEditor.cs.meta new file mode 100644 index 0000000000..f294d7958d --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/HoldInteractionEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: fde8c91ad1cbc48e7a49f856f44724c6 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/MultiTapInteractionEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/MultiTapInteractionEditor.cs new file mode 100644 index 0000000000..864638001e --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/MultiTapInteractionEditor.cs @@ -0,0 +1,63 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Interactions +{ + #if UNITY_EDITOR + /// + /// UI that is displayed when editing in the editor. + /// + internal class MultiTapInteractionEditor : InputParameterEditor + { + protected override void OnEnable() + { + m_TapTimeSetting.Initialize("Max Tap Duration", + "Time (in seconds) within with a control has to be released again for it to register as a tap. If the control is held " + + "for longer than this time, the tap is canceled.", + "Default Tap Time", + () => target.tapTime, x => target.tapTime = x, () => InputSystem.settings.defaultTapTime); + m_TapDelaySetting.Initialize("Max Tap Spacing", + "The maximum delay (in seconds) allowed between each tap. If this time is exceeded, the multi-tap is canceled.", + "Default Tap Spacing", + () => target.tapDelay, x => target.tapDelay = x, () => InputSystem.settings.multiTapDelayTime); + m_PressPointSetting.Initialize("Press Point", + "The amount of actuation a control requires before being considered pressed. If not set, default to " + + "'Default Button Press Point' in the global input settings.", + "Default Button Press Point", + () => target.pressPoint, v => target.pressPoint = v, + () => InputSystem.settings.defaultButtonPressPoint); + } + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + var tapCountField = new IntegerField(tapLabel) + { + value = target.tapCount, + tooltip = tapTooltip + }; + tapCountField.RegisterValueChangedCallback(evt => + { + target.tapCount = evt.newValue; + onChangedCallback?.Invoke(); + }); + root.Add(tapCountField); + + m_TapDelaySetting.OnDrawVisualElements(root, onChangedCallback); + m_TapTimeSetting.OnDrawVisualElements(root, onChangedCallback); + m_PressPointSetting.OnDrawVisualElements(root, onChangedCallback); + } + + private const string tapLabel = "Tap Count"; + private const string tapTooltip = "How many taps need to be performed in succession. Two means double-tap, three means triple-tap, and so on."; + + private CustomOrDefaultSetting m_PressPointSetting; + private CustomOrDefaultSetting m_TapTimeSetting; + private CustomOrDefaultSetting m_TapDelaySetting; + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/MultiTapInteractionEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/MultiTapInteractionEditor.cs.meta new file mode 100644 index 0000000000..776e01b008 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/MultiTapInteractionEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 991f8cb0b79a44a8687af2973bc223cc \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/PressInteractionEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/PressInteractionEditor.cs new file mode 100644 index 0000000000..9f16ef0fda --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/PressInteractionEditor.cs @@ -0,0 +1,57 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Interactions +{ + #if UNITY_EDITOR + /// + /// UI that is displayed when editing in the editor. + /// + // ReSharper disable once UnusedMember.Global + internal class PressInteractionEditor : InputParameterEditor + { + protected override void OnEnable() + { + m_PressPointSetting.Initialize("Press Point", + "The amount of actuation a control requires before being considered pressed. If not set, default to " + + "'Default Button Press Point' in the global input settings.", + "Default Button Press Point", + () => target.pressPoint, v => target.pressPoint = v, + () => InputSystem.settings.defaultButtonPressPoint); + } + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + root.Add(new HelpBox(helpLabel, HelpBoxMessageType.None)); + + var behaviourDropdown = new EnumField(triggerLabel, target.behavior) + { + tooltip = triggerTooltip + }; + behaviourDropdown.RegisterValueChangedCallback(evt => + { + target.behavior = (PressBehavior)evt.newValue; + onChangedCallback?.Invoke(); + }); + root.Add(behaviourDropdown); + + m_PressPointSetting.OnDrawVisualElements(root, onChangedCallback); + } + + private CustomOrDefaultSetting m_PressPointSetting; + + private const string helpLabel = "Note that the 'Press' interaction is only " + + "necessary when wanting to customize button press behavior. For default press behavior, simply set the action type to 'Button' " + + "and use the action without interactions added to it."; + private const string triggerLabel = "Trigger Behavior"; + private const string triggerTooltip = "Determines how button presses trigger the action. By default (PressOnly), the action is performed on press. " + + "With ReleaseOnly, the action is performed on release. With PressAndRelease, the action is performed on press and " + + "canceled on release."; + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/PressInteractionEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/PressInteractionEditor.cs.meta new file mode 100644 index 0000000000..5100947c28 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/PressInteractionEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: bb40b2b9ded5942e98788267f3adbc11 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/SlowTapInteractionEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/SlowTapInteractionEditor.cs new file mode 100644 index 0000000000..2af8c14495 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/SlowTapInteractionEditor.cs @@ -0,0 +1,37 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Interactions +{ + internal class SlowTapInteractionEditor : InputParameterEditor + { + protected override void OnEnable() + { + m_DurationSetting.Initialize("Min Tap Duration", + "Minimum time (in seconds) that a control has to be held for it to register as a slow tap. If the control is released " + + "before this time, the slow tap is canceled.", + "Default Slow Tap Time", + () => target.duration, x => target.duration = x, () => InputSystem.settings.defaultSlowTapTime); + m_PressPointSetting.Initialize("Press Point", + "The amount of actuation a control requires before being considered pressed. If not set, default to " + + "'Default Button Press Point' in the global input settings.", + "Default Button Press Point", + () => target.pressPoint, v => target.pressPoint = v, + () => InputSystem.settings.defaultButtonPressPoint); + } + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + m_DurationSetting.OnDrawVisualElements(root, onChangedCallback); + m_PressPointSetting.OnDrawVisualElements(root, onChangedCallback); + } + + private CustomOrDefaultSetting m_DurationSetting; + private CustomOrDefaultSetting m_PressPointSetting; + } +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/SlowTapInteractionEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/SlowTapInteractionEditor.cs.meta new file mode 100644 index 0000000000..0c0c4b6744 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/SlowTapInteractionEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 31783c2cca6e44f419396b9d094e2b31 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/TapInteractionEditor.cs b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/TapInteractionEditor.cs new file mode 100644 index 0000000000..03f81bb3b3 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/TapInteractionEditor.cs @@ -0,0 +1,37 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Interactions +{ + internal class TapInteractionEditor : InputParameterEditor + { + protected override void OnEnable() + { + m_DurationSetting.Initialize("Max Tap Duration", + "Time (in seconds) within with a control has to be released again for it to register as a tap. If the control is held " + + "for longer than this time, the tap is canceled.", + "Default Tap Time", + () => target.duration, x => target.duration = x, () => InputSystem.settings.defaultTapTime); + m_PressPointSetting.Initialize("Press Point", + "The amount of actuation a control requires before being considered pressed. If not set, default to " + + "'Default Button Press Point' in the global input settings.", + "Default Button Press Point", + () => target.pressPoint, v => target.pressPoint = v, + () => InputSystem.settings.defaultButtonPressPoint); + } + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + m_DurationSetting.OnDrawVisualElements(root, onChangedCallback); + m_PressPointSetting.OnDrawVisualElements(root, onChangedCallback); + } + + private CustomOrDefaultSetting m_DurationSetting; + private CustomOrDefaultSetting m_PressPointSetting; + } +} diff --git a/Packages/com.unity.inputsystem/Editor/Actions/Interactions/TapInteractionEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/TapInteractionEditor.cs.meta new file mode 100644 index 0000000000..392b23a23e --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Actions/Interactions/TapInteractionEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 49b16a0da25fb4403a778600bd0278db \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics.meta b/Packages/com.unity.inputsystem/Editor/Analytics.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics.meta rename to Packages/com.unity.inputsystem/Editor/Analytics.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs similarity index 99% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs index a966aa18a0..b85693f0e1 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs +++ b/Packages/com.unity.inputsystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs @@ -28,6 +28,7 @@ public InputActionsEditorSessionAnalytic(Data.Kind kind) if (kind == Data.Kind.Invalid) throw new ArgumentException(nameof(kind)); + Initialize(kind); } diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/InputActionsEditorSessionAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputBuildAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/InputBuildAnalytic.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputBuildAnalytic.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/InputBuildAnalytic.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputBuildAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/InputBuildAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputBuildAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/InputBuildAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputComponentEditorAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/InputComponentEditorAnalytic.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputComponentEditorAnalytic.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/InputComponentEditorAnalytic.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputComponentEditorAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/InputComponentEditorAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputComponentEditorAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/InputComponentEditorAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputEditorAnalytics.cs b/Packages/com.unity.inputsystem/Editor/Analytics/InputEditorAnalytics.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputEditorAnalytics.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/InputEditorAnalytics.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputEditorAnalytics.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/InputEditorAnalytics.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputEditorAnalytics.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/InputEditorAnalytics.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputExitPlayModeAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/InputExitPlayModeAnalytic.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputExitPlayModeAnalytic.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/InputExitPlayModeAnalytic.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputExitPlayModeAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/InputExitPlayModeAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/InputExitPlayModeAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/InputExitPlayModeAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/OnScreenStickEditorAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputEditorAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputEditorAnalytic.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputEditorAnalytic.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputEditorAnalytic.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputEditorAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputEditorAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputEditorAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputEditorAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs rename to Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/PlayerInputManagerEditorAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Analytics/VirtualMouseInputEditorAnalytic.cs b/Packages/com.unity.inputsystem/Editor/Analytics/VirtualMouseInputEditorAnalytic.cs new file mode 100644 index 0000000000..1708010278 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Analytics/VirtualMouseInputEditorAnalytic.cs @@ -0,0 +1,95 @@ +// #if UNITY_EDITOR && UNITY_INPUT_SYSTEM_ENABLE_UI +// using System; +// using UnityEngine.InputSystem.UI; +// +// namespace UnityEngine.InputSystem.Editor +// { +// /// +// /// Analytics record for tracking engagement with Input Action Asset editor(s). +// /// +// #if UNITY_2023_2_OR_NEWER +// [UnityEngine.Analytics.AnalyticInfo(eventName: kEventName, maxEventsPerHour: kMaxEventsPerHour, +// maxNumberOfElements: kMaxNumberOfElements, vendorKey: UnityEngine.InputSystem.InputAnalytics.kVendorKey)] +// #endif // UNITY_2023_2_OR_NEWER +// internal class VirtualMouseInputEditorAnalytic : UnityEngine.InputSystem.InputAnalytics.IInputAnalytic +// { +// public const string kEventName = "input_virtualmouseinput_editor_destroyed"; +// public const int kMaxEventsPerHour = 100; // default: 1000 +// public const int kMaxNumberOfElements = 100; // default: 1000 +// +// [Serializable] +// internal struct Data : UnityEngine.InputSystem.InputAnalytics.IInputAnalyticData +// { +// /// +// /// Maps to . Determines which cursor representation to use. +// /// +// public CursorMode cursor_mode; +// +// /// +// /// Maps to . Speed in pixels per second with which to move the cursor. +// /// +// public float cursor_speed; +// +// /// +// /// Maps to . Multiplier for values received from . +// /// +// public float scroll_speed; +// +// public enum CursorMode +// { +// SoftwareCursor = 0, +// HardwareCursorIfAvailable = 1 +// } +// +// private static CursorMode ToCursorMode(VirtualMouseInput.CursorMode value) +// { +// switch (value) +// { +// case VirtualMouseInput.CursorMode.SoftwareCursor: +// return CursorMode.SoftwareCursor; +// case VirtualMouseInput.CursorMode.HardwareCursorIfAvailable: +// return CursorMode.HardwareCursorIfAvailable; +// default: +// throw new ArgumentOutOfRangeException(nameof(value)); +// } +// } +// +// public Data(VirtualMouseInput value) +// { +// cursor_mode = ToCursorMode(value.cursorMode); +// cursor_speed = value.cursorSpeed; +// scroll_speed = value.scrollSpeed; +// } +// } +// +// public InputAnalytics.InputAnalyticInfo info => +// new InputAnalytics.InputAnalyticInfo(kEventName, kMaxEventsPerHour, kMaxNumberOfElements); +// +// private readonly UnityEditor.Editor m_Editor; +// +// public VirtualMouseInputEditorAnalytic(UnityEditor.Editor editor) +// { +// m_Editor = editor; +// } +// +// #if UNITY_2023_2_OR_NEWER +// public bool TryGatherData(out UnityEngine.Analytics.IAnalytic.IData data, out Exception error) +// #else +// public bool TryGatherData(out InputAnalytics.IInputAnalyticData data, out Exception error) +// #endif +// { +// try +// { +// data = new Data(m_Editor.target as VirtualMouseInput); +// error = null; +// } +// catch (Exception e) +// { +// data = null; +// error = e; +// } +// return true; +// } +// } +// } +// #endif diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/VirtualMouseInputEditorAnalytic.cs.meta b/Packages/com.unity.inputsystem/Editor/Analytics/VirtualMouseInputEditorAnalytic.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Analytics/VirtualMouseInputEditorAnalytic.cs.meta rename to Packages/com.unity.inputsystem/Editor/Analytics/VirtualMouseInputEditorAnalytic.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/AssemblyInfo.cs b/Packages/com.unity.inputsystem/Editor/AssemblyInfo.cs new file mode 100644 index 0000000000..c2cee10b5c --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/AssemblyInfo.cs @@ -0,0 +1,7 @@ +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("Unity.InputSystem.TestFramework")] +[assembly: InternalsVisibleTo("Unity.InputSystem.Tests")] +[assembly: InternalsVisibleTo("Unity.InputSystem.Tests.Editor")] +[assembly: InternalsVisibleTo("Unity.InputSystem.IntegrationTests")] +[assembly: InternalsVisibleTo("Unity.InputSystem.EditorDevelopmentTools")] diff --git a/Packages/com.unity.inputsystem/Editor/AssemblyInfo.cs.meta b/Packages/com.unity.inputsystem/Editor/AssemblyInfo.cs.meta new file mode 100644 index 0000000000..debd3fbf85 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/AssemblyInfo.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: f256ee3134d54b2d80c2b3b47b856743 +timeCreated: 1764268579 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionAssetManager.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionAssetManager.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionAssetManager.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionAssetManager.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionAssetManager.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionAssetManager.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionAssetManager.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionAssetManager.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionPropertiesView.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionPropertiesView.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionPropertiesView.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionPropertiesView.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionPropertiesView.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionPropertiesView.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionPropertiesView.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionPropertiesView.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeView.cs similarity index 99% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeView.cs index 55b91a3185..449f63965c 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs +++ b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeView.cs @@ -1524,7 +1524,7 @@ private GUIContent plusIcon private static readonly GUIContent s_ExpandAllLabel = EditorGUIUtility.TrTextContent("Expand All"); private static readonly GUIContent s_CollapseAllLabel = EditorGUIUtility.TrTextContent("Collapse All"); - public static string SharedResourcesPath = "Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/"; + public static string SharedResourcesPath = "Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/"; public static string ResourcesPath { get diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeView.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeView.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeViewItems.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeViewItems.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeViewItems.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeViewItems.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeViewItems.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeViewItems.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeViewItems.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputActionTreeViewItems.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputBindingPropertiesView.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputBindingPropertiesView.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputBindingPropertiesView.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputBindingPropertiesView.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputBindingPropertiesView.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/InputBindingPropertiesView.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputBindingPropertiesView.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/InputBindingPropertiesView.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/NameAndParameterListView.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/NameAndParameterListView.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/NameAndParameterListView.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/NameAndParameterListView.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/NameAndParameterListView.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/NameAndParameterListView.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/NameAndParameterListView.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/NameAndParameterListView.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/blue.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/blue.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/blue.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/blue.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/blue.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/blue.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/blue.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/blue.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/green.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/green.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/green.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/green.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/green.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/green.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/green.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/green.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackground.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/actionTreeBackgroundWithoutBorder.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/foldoutBackground.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/personal/propertiesBackground.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pink.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pink.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pink.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pink.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pink.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pink.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pink.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pink.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackground.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/actionTreeBackgroundWithoutBorder.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/foldoutBackground.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/pro/propertiesBackground.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/yellow.png b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/yellow.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/yellow.png rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/yellow.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/yellow.png.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/yellow.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PackageResources/yellow.png.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PackageResources/yellow.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/ParameterListView.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/ParameterListView.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/ParameterListView.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/ParameterListView.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/ParameterListView.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/ParameterListView.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/ParameterListView.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/ParameterListView.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PropertiesViewBase.cs b/Packages/com.unity.inputsystem/Editor/AssetEditor/PropertiesViewBase.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PropertiesViewBase.cs rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PropertiesViewBase.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PropertiesViewBase.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetEditor/PropertiesViewBase.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/PropertiesViewBase.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetEditor/PropertiesViewBase.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter.meta b/Packages/com.unity.inputsystem/Editor/AssetImporter.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter.meta rename to Packages/com.unity.inputsystem/Editor/AssetImporter.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/IInputActionAssetEditor.cs b/Packages/com.unity.inputsystem/Editor/AssetImporter/IInputActionAssetEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/IInputActionAssetEditor.cs rename to Packages/com.unity.inputsystem/Editor/AssetImporter/IInputActionAssetEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/IInputActionAssetEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetImporter/IInputActionAssetEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/IInputActionAssetEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetImporter/IInputActionAssetEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetEditor.cs b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetEditor.cs rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetIconLoader.cs b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetIconLoader.cs similarity index 93% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetIconLoader.cs rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetIconLoader.cs index cca5439155..64275098e2 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetIconLoader.cs +++ b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetIconLoader.cs @@ -11,8 +11,8 @@ namespace UnityEngine.InputSystem.Editor /// internal static class InputActionAssetIconLoader { - private const string kActionIcon = "Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputAction.png"; - private const string kAssetIcon = "Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputActionAsset.png"; + private const string kActionIcon = "Packages/com.unity.inputsystem/Editor/Icons/InputAction.png"; + private const string kAssetIcon = "Packages/com.unity.inputsystem/Editor/Icons/InputActionAsset.png"; /// /// Attempts to load the icon associated with an . diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetIconLoader.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetIconLoader.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionAssetIconLoader.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionAssetIconLoader.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionCodeGenerator.cs b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionCodeGenerator.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionCodeGenerator.cs rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionCodeGenerator.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionCodeGenerator.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionCodeGenerator.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionCodeGenerator.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionCodeGenerator.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporter.cs b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporter.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporter.cs rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporter.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporter.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporter.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporter.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporter.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporterEditor.cs b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporterEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporterEditor.cs rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporterEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporterEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporterEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/AssetImporter/InputActionImporterEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/AssetImporter/InputActionImporterEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/BuildPipeline.meta b/Packages/com.unity.inputsystem/Editor/BuildPipeline.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/BuildPipeline.meta rename to Packages/com.unity.inputsystem/Editor/BuildPipeline.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/BuildPipeline/LinkFileGenerator.cs b/Packages/com.unity.inputsystem/Editor/BuildPipeline/LinkFileGenerator.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/BuildPipeline/LinkFileGenerator.cs rename to Packages/com.unity.inputsystem/Editor/BuildPipeline/LinkFileGenerator.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/BuildPipeline/LinkFileGenerator.cs.meta b/Packages/com.unity.inputsystem/Editor/BuildPipeline/LinkFileGenerator.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/BuildPipeline/LinkFileGenerator.cs.meta rename to Packages/com.unity.inputsystem/Editor/BuildPipeline/LinkFileGenerator.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/IInputControlPickerLayout.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/IInputControlPickerLayout.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/IInputControlPickerLayout.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/IInputControlPickerLayout.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/IInputControlPickerLayout.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/IInputControlPickerLayout.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/IInputControlPickerLayout.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/IInputControlPickerLayout.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlDropdownItem.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlDropdownItem.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlDropdownItem.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlDropdownItem.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlDropdownItem.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlDropdownItem.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlDropdownItem.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlDropdownItem.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPathEditor.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPathEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPathEditor.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPathEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPathEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPathEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPathEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPathEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPicker.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPicker.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPicker.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPicker.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPicker.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPicker.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPicker.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPicker.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerDropdown.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerDropdown.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerDropdown.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerDropdown.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerState.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerState.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerState.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerState.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerState.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerState.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerState.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/InputControlPickerState.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/DefaultInputControlPickerLayout.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs b/Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs rename to Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs.meta b/Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs.meta rename to Packages/com.unity.inputsystem/Editor/ControlPicker/Layouts/TouchscreenControlPickerLayout.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Controls.meta b/Packages/com.unity.inputsystem/Editor/Controls.meta new file mode 100644 index 0000000000..8ab3ed97de --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Controls.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dce36297a61ee468f92d0fe7f7e28441 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Controls/Processors.meta b/Packages/com.unity.inputsystem/Editor/Controls/Processors.meta new file mode 100644 index 0000000000..f64de806a5 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Controls/Processors.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e167cf5b25c44f35919e4082e725d71 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Controls/Processors/AxisDeadzoneProcessorEditor.cs b/Packages/com.unity.inputsystem/Editor/Controls/Processors/AxisDeadzoneProcessorEditor.cs new file mode 100644 index 0000000000..b767d2012e --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Controls/Processors/AxisDeadzoneProcessorEditor.cs @@ -0,0 +1,38 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Processors +{ + #if UNITY_EDITOR + internal class AxisDeadzoneProcessorEditor : InputParameterEditor + { + protected override void OnEnable() + { + m_MinSetting.Initialize("Min", + "Value below which input values will be clamped. After clamping, values will be renormalized to [0..1] between min and max.", + "Default Deadzone Min", + () => target.min, v => target.min = v, + () => InputSystem.settings.defaultDeadzoneMin); + m_MaxSetting.Initialize("Max", + "Value above which input values will be clamped. After clamping, values will be renormalized to [0..1] between min and max.", + "Default Deadzone Max", + () => target.max, v => target.max = v, + () => InputSystem.settings.defaultDeadzoneMax); + } + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + m_MinSetting.OnDrawVisualElements(root, onChangedCallback); + m_MaxSetting.OnDrawVisualElements(root, onChangedCallback); + } + + private CustomOrDefaultSetting m_MinSetting; + private CustomOrDefaultSetting m_MaxSetting; + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Controls/Processors/AxisDeadzoneProcessorEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Controls/Processors/AxisDeadzoneProcessorEditor.cs.meta new file mode 100644 index 0000000000..810e3ad3d1 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Controls/Processors/AxisDeadzoneProcessorEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9744e96a967da4f29909add206a6b27f \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Controls/Processors/StickDeadzoneProcessorEditor.cs b/Packages/com.unity.inputsystem/Editor/Controls/Processors/StickDeadzoneProcessorEditor.cs new file mode 100644 index 0000000000..2dc4adab5b --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Controls/Processors/StickDeadzoneProcessorEditor.cs @@ -0,0 +1,38 @@ +using System; +using UnityEngine.InputSystem.Editor; +using UnityEngine.UIElements; + +namespace UnityEngine.InputSystem.Processors +{ + #if UNITY_EDITOR + internal class StickDeadzoneProcessorEditor : InputParameterEditor + { + protected override void OnEnable() + { + m_MinSetting.Initialize("Min", + "Vector length below which input values will be clamped. After clamping, vector lengths will be renormalized to [0..1] between min and max.", + "Default Deadzone Min", + () => target.min, v => target.min = v, + () => InputSystem.settings.defaultDeadzoneMin); + m_MaxSetting.Initialize("Max", + "Vector length above which input values will be clamped. After clamping, vector lengths will be renormalized to [0..1] between min and max.", + "Default Deadzone Max", + () => target.max, v => target.max = v, + () => InputSystem.settings.defaultDeadzoneMax); + } + + public override void OnGUI() + { + } + + public override void OnDrawVisualElements(VisualElement root, Action onChangedCallback) + { + m_MinSetting.OnDrawVisualElements(root, onChangedCallback); + m_MaxSetting.OnDrawVisualElements(root, onChangedCallback); + } + + private CustomOrDefaultSetting m_MinSetting; + private CustomOrDefaultSetting m_MaxSetting; + } + #endif +} diff --git a/Packages/com.unity.inputsystem/Editor/Controls/Processors/StickDeadzoneProcessorEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Controls/Processors/StickDeadzoneProcessorEditor.cs.meta new file mode 100644 index 0000000000..d3e1b8001b --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Controls/Processors/StickDeadzoneProcessorEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 58a253233c6804f58adf86cfee510a72 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger.meta b/Packages/com.unity.inputsystem/Editor/Debugger.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger.meta rename to Packages/com.unity.inputsystem/Editor/Debugger.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputActionDebuggerWindow.cs b/Packages/com.unity.inputsystem/Editor/Debugger/InputActionDebuggerWindow.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputActionDebuggerWindow.cs rename to Packages/com.unity.inputsystem/Editor/Debugger/InputActionDebuggerWindow.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputActionDebuggerWindow.cs.meta b/Packages/com.unity.inputsystem/Editor/Debugger/InputActionDebuggerWindow.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputActionDebuggerWindow.cs.meta rename to Packages/com.unity.inputsystem/Editor/Debugger/InputActionDebuggerWindow.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDebuggerWindow.cs b/Packages/com.unity.inputsystem/Editor/Debugger/InputDebuggerWindow.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDebuggerWindow.cs rename to Packages/com.unity.inputsystem/Editor/Debugger/InputDebuggerWindow.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDebuggerWindow.cs.meta b/Packages/com.unity.inputsystem/Editor/Debugger/InputDebuggerWindow.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDebuggerWindow.cs.meta rename to Packages/com.unity.inputsystem/Editor/Debugger/InputDebuggerWindow.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDeviceDebuggerWindow.cs b/Packages/com.unity.inputsystem/Editor/Debugger/InputDeviceDebuggerWindow.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDeviceDebuggerWindow.cs rename to Packages/com.unity.inputsystem/Editor/Debugger/InputDeviceDebuggerWindow.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDeviceDebuggerWindow.cs.meta b/Packages/com.unity.inputsystem/Editor/Debugger/InputDeviceDebuggerWindow.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputDeviceDebuggerWindow.cs.meta rename to Packages/com.unity.inputsystem/Editor/Debugger/InputDeviceDebuggerWindow.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputLatencyCalculator.cs b/Packages/com.unity.inputsystem/Editor/Debugger/InputLatencyCalculator.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputLatencyCalculator.cs rename to Packages/com.unity.inputsystem/Editor/Debugger/InputLatencyCalculator.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputLatencyCalculator.cs.meta b/Packages/com.unity.inputsystem/Editor/Debugger/InputLatencyCalculator.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/InputLatencyCalculator.cs.meta rename to Packages/com.unity.inputsystem/Editor/Debugger/InputLatencyCalculator.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/SampleFrequencyCalculator.cs b/Packages/com.unity.inputsystem/Editor/Debugger/SampleFrequencyCalculator.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/SampleFrequencyCalculator.cs rename to Packages/com.unity.inputsystem/Editor/Debugger/SampleFrequencyCalculator.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/SampleFrequencyCalculator.cs.meta b/Packages/com.unity.inputsystem/Editor/Debugger/SampleFrequencyCalculator.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Debugger/SampleFrequencyCalculator.cs.meta rename to Packages/com.unity.inputsystem/Editor/Debugger/SampleFrequencyCalculator.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/DeviceSimulator.meta b/Packages/com.unity.inputsystem/Editor/DeviceSimulator.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/DeviceSimulator.meta rename to Packages/com.unity.inputsystem/Editor/DeviceSimulator.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/DeviceSimulator/InputSystemPlugin.cs b/Packages/com.unity.inputsystem/Editor/DeviceSimulator/InputSystemPlugin.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/DeviceSimulator/InputSystemPlugin.cs rename to Packages/com.unity.inputsystem/Editor/DeviceSimulator/InputSystemPlugin.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/DeviceSimulator/InputSystemPlugin.cs.meta b/Packages/com.unity.inputsystem/Editor/DeviceSimulator/InputSystemPlugin.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/DeviceSimulator/InputSystemPlugin.cs.meta rename to Packages/com.unity.inputsystem/Editor/DeviceSimulator/InputSystemPlugin.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Devices.meta b/Packages/com.unity.inputsystem/Editor/Devices.meta new file mode 100644 index 0000000000..c48f5abdd0 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Devices.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 48b3efd3f5d914c53a4b7be35baf09a9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Devices/Remote.meta b/Packages/com.unity.inputsystem/Editor/Devices/Remote.meta new file mode 100644 index 0000000000..377c1f708e --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Devices/Remote.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ea5bd36bf3924ec18c263bbdb10e425 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Devices/Remote/RemoteInputPlayerConnectionEditor.cs b/Packages/com.unity.inputsystem/Editor/Devices/Remote/RemoteInputPlayerConnectionEditor.cs new file mode 100644 index 0000000000..e752eb3b13 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Devices/Remote/RemoteInputPlayerConnectionEditor.cs @@ -0,0 +1,26 @@ +using UnityEditor; + +namespace UnityEngine.InputSystem.Editor +{ + /// + /// Editor-specific singleton wrapper for RemoteInputPlayerConnection. + /// In the editor, we need to make sure that we get the same instance after domain reloads. + /// Otherwise, callbacks we have registered before the reload will no longer be valid, because + /// the object instance they point to will not deserialize to a valid object. + /// + internal class RemoteInputPlayerConnectionEditor : ScriptableSingleton + { + [SerializeField] + private RemoteInputPlayerConnection m_Connection; + + public static RemoteInputPlayerConnection GetInstance() + { + if (instance.m_Connection == null) + { + instance.m_Connection = ScriptableObject.CreateInstance(); + instance.m_Connection.hideFlags = HideFlags.HideAndDontSave; + } + return instance.m_Connection; + } + } +} diff --git a/Packages/com.unity.inputsystem/Editor/Devices/Remote/RemoteInputPlayerConnectionEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Devices/Remote/RemoteInputPlayerConnectionEditor.cs.meta new file mode 100644 index 0000000000..e1e8e11170 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Devices/Remote/RemoteInputPlayerConnectionEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 8f6c78efe2b334209908669a961187f4 \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Dialog.cs b/Packages/com.unity.inputsystem/Editor/Dialog.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Dialog.cs rename to Packages/com.unity.inputsystem/Editor/Dialog.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Dialog.cs.meta b/Packages/com.unity.inputsystem/Editor/Dialog.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Dialog.cs.meta rename to Packages/com.unity.inputsystem/Editor/Dialog.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/DownloadableSample.cs b/Packages/com.unity.inputsystem/Editor/DownloadableSample.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/DownloadableSample.cs rename to Packages/com.unity.inputsystem/Editor/DownloadableSample.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/DownloadableSample.cs.meta b/Packages/com.unity.inputsystem/Editor/DownloadableSample.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/DownloadableSample.cs.meta rename to Packages/com.unity.inputsystem/Editor/DownloadableSample.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/EditorInputControlLayoutCache.cs b/Packages/com.unity.inputsystem/Editor/EditorInputControlLayoutCache.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/EditorInputControlLayoutCache.cs rename to Packages/com.unity.inputsystem/Editor/EditorInputControlLayoutCache.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/EditorInputControlLayoutCache.cs.meta b/Packages/com.unity.inputsystem/Editor/EditorInputControlLayoutCache.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/EditorInputControlLayoutCache.cs.meta rename to Packages/com.unity.inputsystem/Editor/EditorInputControlLayoutCache.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons.meta b/Packages/com.unity.inputsystem/Editor/Icons.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons.meta rename to Packages/com.unity.inputsystem/Editor/Icons.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding.png b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding.png rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Add Binding@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Add Binding@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Add Binding@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis.png b/Packages/com.unity.inputsystem/Editor/Icons/Axis.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis.png rename to Packages/com.unity.inputsystem/Editor/Icons/Axis.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Axis.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Axis.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Axis@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Axis@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Axis@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Axis@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Axis@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Axis@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Axis@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Axis@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Axis@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Axis@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Axis@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Axis@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Axis@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button.png b/Packages/com.unity.inputsystem/Editor/Icons/Button.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button.png rename to Packages/com.unity.inputsystem/Editor/Icons/Button.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Button.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Button.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Button@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Button@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Button@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Button@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Button@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Button@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Button@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Button@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Button@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronDown@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronDown@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/ChevronUp@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/ChevronUp@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad.png b/Packages/com.unity.inputsystem/Editor/Icons/Dpad.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad.png rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Dpad.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Dpad@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Dpad@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Dpad@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Dpad@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Dpad@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Dpad@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Dpad@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Dpad@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad.png b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad.png rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Gamepad@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Gamepad@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Gamepad@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputAction.png b/Packages/com.unity.inputsystem/Editor/Icons/InputAction.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputAction.png rename to Packages/com.unity.inputsystem/Editor/Icons/InputAction.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputAction.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/InputAction.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputAction.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/InputAction.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputActionAsset.png b/Packages/com.unity.inputsystem/Editor/Icons/InputActionAsset.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputActionAsset.png rename to Packages/com.unity.inputsystem/Editor/Icons/InputActionAsset.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputActionAsset.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/InputActionAsset.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputActionAsset.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/InputActionAsset.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl.png b/Packages/com.unity.inputsystem/Editor/Icons/InputControl.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl.png rename to Packages/com.unity.inputsystem/Editor/Icons/InputControl.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/InputControl.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/InputControl.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/InputControl@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/InputControl@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/InputControl@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/InputControl@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/InputControl@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/InputControl@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/InputControl@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputControl@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/InputControl@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputSystemUIInputModule@64.png b/Packages/com.unity.inputsystem/Editor/Icons/InputSystemUIInputModule@64.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputSystemUIInputModule@64.png rename to Packages/com.unity.inputsystem/Editor/Icons/InputSystemUIInputModule@64.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputSystemUIInputModule@64.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/InputSystemUIInputModule@64.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/InputSystemUIInputModule@64.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/InputSystemUIInputModule@64.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding.png b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding.png rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Interactive Binding@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Interactive Binding@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick.png b/Packages/com.unity.inputsystem/Editor/Icons/Joystick.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick.png rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Joystick.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Joystick@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Joystick@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Joystick@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Joystick@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Joystick@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Joystick@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Joystick@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Joystick@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard.png b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard.png rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Keyboard@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Keyboard@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Keyboard@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse.png b/Packages/com.unity.inputsystem/Editor/Icons/Mouse.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse.png rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Mouse.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Mouse@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Mouse@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Mouse@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Mouse@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Mouse@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Mouse@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Mouse@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Mouse@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/MultiplayerEventSystem@64.png b/Packages/com.unity.inputsystem/Editor/Icons/MultiplayerEventSystem@64.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/MultiplayerEventSystem@64.png rename to Packages/com.unity.inputsystem/Editor/Icons/MultiplayerEventSystem@64.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/MultiplayerEventSystem@64.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/MultiplayerEventSystem@64.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/MultiplayerEventSystem@64.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/MultiplayerEventSystem@64.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation.png b/Packages/com.unity.inputsystem/Editor/Icons/Orientation.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation.png rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Orientation.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Orientation@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Orientation@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Orientation@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Orientation@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Orientation@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Orientation@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Orientation@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Orientation@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen.png b/Packages/com.unity.inputsystem/Editor/Icons/Pen.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen.png rename to Packages/com.unity.inputsystem/Editor/Icons/Pen.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Pen.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Pen.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Pen@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Pen@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Pen@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Pen@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Pen@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Pen@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Pen@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Pen@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Pen@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Pen@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Pen@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Pen@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Pen@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position.png b/Packages/com.unity.inputsystem/Editor/Icons/Position.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position.png rename to Packages/com.unity.inputsystem/Editor/Icons/Position.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Position.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Position.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Position@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Position@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Position@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Position@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Position@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Position@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Position@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Position@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Position@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Position@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Position@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Position@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Position@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick.png b/Packages/com.unity.inputsystem/Editor/Icons/Stick.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick.png rename to Packages/com.unity.inputsystem/Editor/Icons/Stick.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Stick.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Stick.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Stick@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Stick@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Stick@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Stick@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Stick@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Stick@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Stick@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Stick@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Stick@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Stick@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Stick@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Stick@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Stick@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch.png b/Packages/com.unity.inputsystem/Editor/Icons/Touch.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch.png rename to Packages/com.unity.inputsystem/Editor/Icons/Touch.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Touch.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Touch.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/Touch@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Touch@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Touch@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Touch@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/Touch@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Touch@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Touch@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Touch@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/Touch@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/Touch@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/Touch@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/Touch@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/Touch@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver.png b/Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver.png rename to Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/TrackedPoseDriver@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/TrackedPoseDriver@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Add Binding@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Add Binding@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Axis@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Axis@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Axis@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Button.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Button.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Button.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Button.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Button@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Button@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Button@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Button@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Button@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Button@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Button@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Button@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Button@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronDown@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronDown@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_ChevronUp@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_ChevronUp@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Dpad@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Dpad@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Gamepad@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Gamepad@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl.png b/Packages/com.unity.inputsystem/Editor/Icons/d_InputControl.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_InputControl.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_InputControl.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_InputControl.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_InputControl@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_InputControl@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Interactive Binding@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Interactive Binding@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Joystick@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Joystick@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Keyboard@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Keyboard@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Mouse@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Mouse@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Orientation@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Orientation@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Pen@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Pen@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Pen@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Position.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Position.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Position@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Position@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Position@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Position@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Position@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Position@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Position@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Position@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Stick@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Stick@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Stick@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@2x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch@2x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@2x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch@2x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@2x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch@2x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@2x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch@2x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@3x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch@3x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@3x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch@3x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@3x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch@3x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@3x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch@3x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@4x.png b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch@4x.png similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@4x.png rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch@4x.png diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@4x.png.meta b/Packages/com.unity.inputsystem/Editor/Icons/d_Touch@4x.png.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Icons/d_Touch@4x.png.meta rename to Packages/com.unity.inputsystem/Editor/Icons/d_Touch@4x.png.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputAssetEditorUtils.cs b/Packages/com.unity.inputsystem/Editor/InputAssetEditorUtils.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputAssetEditorUtils.cs rename to Packages/com.unity.inputsystem/Editor/InputAssetEditorUtils.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputAssetEditorUtils.cs.meta b/Packages/com.unity.inputsystem/Editor/InputAssetEditorUtils.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputAssetEditorUtils.cs.meta rename to Packages/com.unity.inputsystem/Editor/InputAssetEditorUtils.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputDiagnostics.cs b/Packages/com.unity.inputsystem/Editor/InputDiagnostics.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputDiagnostics.cs rename to Packages/com.unity.inputsystem/Editor/InputDiagnostics.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputDiagnostics.cs.meta b/Packages/com.unity.inputsystem/Editor/InputDiagnostics.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputDiagnostics.cs.meta rename to Packages/com.unity.inputsystem/Editor/InputDiagnostics.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputLayoutCodeGenerator.cs b/Packages/com.unity.inputsystem/Editor/InputLayoutCodeGenerator.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputLayoutCodeGenerator.cs rename to Packages/com.unity.inputsystem/Editor/InputLayoutCodeGenerator.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputLayoutCodeGenerator.cs.meta b/Packages/com.unity.inputsystem/Editor/InputLayoutCodeGenerator.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputLayoutCodeGenerator.cs.meta rename to Packages/com.unity.inputsystem/Editor/InputLayoutCodeGenerator.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputParameterEditor.cs b/Packages/com.unity.inputsystem/Editor/InputParameterEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputParameterEditor.cs rename to Packages/com.unity.inputsystem/Editor/InputParameterEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputParameterEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/InputParameterEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputParameterEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/InputParameterEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/InputSystemEditorInitializer.cs b/Packages/com.unity.inputsystem/Editor/InputSystemEditorInitializer.cs new file mode 100644 index 0000000000..4aed76bb7b --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/InputSystemEditorInitializer.cs @@ -0,0 +1,475 @@ +using System; +using System.Collections.Generic; +using UnityEditor; +using UnityEditor.Networking.PlayerConnection; +using UnityEditorInternal; +using UnityEngine; +using UnityEngine.InputSystem; +using UnityEngine.InputSystem.LowLevel; +using UnityEngine.InputSystem.Users; + +namespace UnityEngine.InputSystem.Editor +{ + /// + /// Handles Editor-specific initialization and lifecycle management for the Input System. + /// + [InitializeOnLoad] + internal static class InputSystemEditorInitializer + { + internal static InputSystemObject s_SystemObject; + private static HashSet s_TrackedDirtyAssets; + + static InputSystemEditorInitializer() + { + InitializeInEditor(); + + // Hook into Input System property setters to add Editor-specific behavior + InputSystem.onSettingsChange += OnSettingsChanged; + InputSystem.s_OnActionsChanging = ValidateAndTrackActions; + InputSystem.s_ShouldEnableActions = ShouldEnableActions; + + // Register analytics callbacks for InputActionSetupExtensions + InputActionSetupExtensions.s_ApiUsageCallback = RegisterSetupApiUsage; + InputActionSetupExtensions.s_SuppressAnalytics = SuppressSetupAnalytics; + + // Register callback for InputSystemUIInputModule Reset() + #if UNITY_INPUT_SYSTEM_ENABLE_UI || PACKAGE_DOCS_GENERATION + UnityEngine.InputSystem.UI.InputSystemUIInputModule.s_OnReset = OnUIInputModuleReset; + #endif + + // Update Editor state in runtime + UpdateEditorState(); + EditorApplication.update += UpdateEditorState; + + // Register callbacks for Runtime to access Editor functionality + InputActionAsset.s_OnMarkAsDirty = TrackDirtyInputActionAsset; + InputManager.s_GetProjectWideActions = () => ProjectWideActionsBuildProvider.actionsToIncludeInPlayerBuild; + InputSystem.s_Manager.m_AddDevicesNotSupportedByProject = InputEditorUserSettings.addDevicesNotSupportedByProject; + + // Register callback for tests to call InputSystem.OnPlayModeChange (takes int) + InputSystem.s_OnPlayModeChangeCallback = change => OnPlayModeChange((PlayModeStateChange)change); + + // Register Editor-specific callbacks on NativeInputRuntime + if (InputRuntime.s_Instance is NativeInputRuntime nativeRuntime) + { + // Shutdown callback + nativeRuntime.m_RegisterWantsToQuit = RegisterWantsToQuit; + nativeRuntime.m_UnregisterWantsToQuit = UnregisterWantsToQuit; + + // Unity Remote callbacks + nativeRuntime.m_SetUnityRemoteMessageHandler = SetUnityRemoteMessageHandler; + nativeRuntime.m_SetUnityRemoteGyroEnabledCallback = SetUnityRemoteGyroEnabled; + nativeRuntime.m_SetUnityRemoteGyroUpdateIntervalCallback = SetUnityRemoteGyroUpdateInterval; + + // Editor Analytics callback + nativeRuntime.m_SendEditorAnalytic = SendEditorAnalytic; + } + + // Register RemoteInputPlayerConnection instance getter + RemoteInputPlayerConnection.s_GetInstance = RemoteInputPlayerConnectionEditor.GetInstance; + + // Register EnhancedTouchSupport assembly reload callbacks + EnhancedTouch.EnhancedTouchSupport.s_BeforeAssemblyReloadCallback = RegisterBeforeAssemblyReload; + EnhancedTouch.EnhancedTouchSupport.s_UnregisterBeforeAssemblyReloadCallback = UnregisterBeforeAssemblyReload; + + // Register InputActionReference asset database callbacks + InputActionReference.s_IsSubAsset = AssetDatabase.IsSubAsset; + InputActionReference.s_GetAssetPath = AssetDatabase.GetAssetPath; + InputActionReference.s_LoadMainAssetAtPath = AssetDatabase.LoadMainAssetAtPath; + } + + #region Editor Callbacks for NativeInputRuntime + + // Track AssemblyReloadEvents callbacks so we can unregister them + private static readonly Dictionary s_AssemblyReloadCallbacks = + new Dictionary(); + + private static void RegisterBeforeAssemblyReload(Action action) + { + if (s_AssemblyReloadCallbacks.ContainsKey(action)) + return; + + AssemblyReloadEvents.AssemblyReloadCallback callback = () => action(); + s_AssemblyReloadCallbacks[action] = callback; + AssemblyReloadEvents.beforeAssemblyReload += callback; + } + + private static void UnregisterBeforeAssemblyReload(Action action) + { + if (s_AssemblyReloadCallbacks.TryGetValue(action, out var callback)) + { + AssemblyReloadEvents.beforeAssemblyReload -= callback; + s_AssemblyReloadCallbacks.Remove(action); + } + } + + private static void RegisterWantsToQuit(Func handler) + { + EditorApplication.wantsToQuit += handler; + } + + private static void UnregisterWantsToQuit(Func handler) + { + EditorApplication.wantsToQuit -= handler; + } + + // Unity Remote support + private static Func s_CurrentUnityRemoteMessageHandler; + + private static void SetUnityRemoteMessageHandler(Func handler) + { + if (s_CurrentUnityRemoteMessageHandler != null) + { + var removeMethod = GetUnityRemoteAPIMethod("RemoveMessageHandler"); + removeMethod?.Invoke(null, new object[] { s_CurrentUnityRemoteMessageHandler }); + } + + s_CurrentUnityRemoteMessageHandler = handler; + + if (handler != null) + { + var addMethod = GetUnityRemoteAPIMethod("AddMessageHandler"); + addMethod?.Invoke(null, new object[] { handler }); + } + } + + private static void SetUnityRemoteGyroEnabled(bool value) + { + var setMethod = GetUnityRemoteAPIMethod("SetGyroEnabled"); + setMethod?.Invoke(null, new object[] { value }); + } + + private static void SetUnityRemoteGyroUpdateInterval(float interval) + { + var setMethod = GetUnityRemoteAPIMethod("SetGyroUpdateInterval"); + setMethod?.Invoke(null, new object[] { interval }); + } + + private static System.Reflection.MethodInfo GetUnityRemoteAPIMethod(string methodName) + { + var editorAssembly = typeof(EditorApplication).Assembly; + var genericRemoteClass = editorAssembly.GetType("UnityEditor.Remote.GenericRemote"); + if (genericRemoteClass == null) + return null; + + return genericRemoteClass.GetMethod(methodName); + } + + // Editor Analytics + private static void SendEditorAnalytic(InputAnalytics.IInputAnalytic analytic) + { + #if ENABLE_CLOUD_SERVICES_ANALYTICS + #if UNITY_2023_2_OR_NEWER + EditorAnalytics.SendAnalytic(analytic); + #else + #if UNITY_INPUT_SYSTEM_ENABLE_ANALYTICS || UNITY_2023_1_OR_NEWER + var info = analytic.info; + EditorAnalytics.RegisterEventWithLimit(info.Name, info.MaxEventsPerHour, info.MaxNumberOfElements, InputAnalytics.kVendorKey); + EditorAnalytics.SendEventWithLimit(info.Name, analytic); + #endif + #endif + #endif + } + + #endregion + + private static void UpdateEditorState() + { + if (InputRuntime.s_Instance is NativeInputRuntime nativeRuntime) + { + nativeRuntime.m_IsInPlayMode = EditorApplication.isPlaying; + nativeRuntime.m_IsEditorPaused = EditorApplication.isPaused; + nativeRuntime.m_IsEditorActive = InternalEditorUtility.isApplicationActive; + } + + // Update Editor settings + InputSystem.s_Manager.m_AddDevicesNotSupportedByProject = InputEditorUserSettings.addDevicesNotSupportedByProject; + } + + private static void RegisterSetupApiUsage(int api) + { + InputExitPlayModeAnalytic.Register((InputExitPlayModeAnalytic.Api)api); + } + + private static void SuppressSetupAnalytics(bool suppress) + { + InputExitPlayModeAnalytic.suppress = suppress; + } + + #if UNITY_INPUT_SYSTEM_ENABLE_UI || PACKAGE_DOCS_GENERATION + private static void OnUIInputModuleReset(UnityEngine.InputSystem.UI.InputSystemUIInputModule module) + { + var asset = (InputActionAsset)AssetDatabase.LoadAssetAtPath( + PlayerInputEditor.kDefaultInputActionsAssetPath, + typeof(InputActionAsset)); + + if (asset != null) + { + UnityEngine.InputSystem.UI.Editor.InputSystemUIInputModuleEditor.ReassignActions(module, asset); + } + } + + #endif + + internal static void InitializeInEditor() + { + // Call Runtime reset + InputSystem.Reset(); + + var existingSystemObjects = Resources.FindObjectsOfTypeAll(); + if (existingSystemObjects != null && existingSystemObjects.Length > 0) + { + // We're coming back out of a domain reload + s_SystemObject = existingSystemObjects[0]; + InputSystem.s_Manager.RestoreStateWithoutDevices(s_SystemObject.systemState.managerState); + InputDebuggerWindow.ReviveAfterDomainReload(); + + // Restore remoting state + InputSystem.s_RemoteConnection = s_SystemObject.systemState.remoteConnection; + InputSystem.SetUpRemoting(); + InputSystem.s_Remote.RestoreState(s_SystemObject.systemState.remotingState, InputSystem.s_Manager); + + // Get manager to restore devices on first input update + InputSystem.s_Manager.m_SavedDeviceStates = s_SystemObject.systemState.managerState.devices; + InputSystem.s_Manager.m_SavedAvailableDevices = s_SystemObject.systemState.managerState.availableDevices; + + // Get rid of saved state + s_SystemObject.systemState = new InputSystem.State(); + } + else + { + s_SystemObject = ScriptableObject.CreateInstance(); + s_SystemObject.hideFlags = HideFlags.HideAndDontSave; + + // Load settings + if (EditorBuildSettings.TryGetConfigObject(InputSettingsProvider.kEditorBuildSettingsConfigKey, + out InputSettings settingsAsset)) + { + if (InputSystem.s_Manager.m_Settings.hideFlags == HideFlags.HideAndDontSave) + ScriptableObject.DestroyImmediate(InputSystem.s_Manager.m_Settings); + InputSystem.s_Manager.m_Settings = settingsAsset; + InputSystem.s_Manager.ApplySettings(); + } + + // Load project-wide actions + var savedActions = ProjectWideActionsBuildProvider.actionsToIncludeInPlayerBuild; + if (savedActions != null) + InputSystem.s_Manager.actions = savedActions; + + InputEditorUserSettings.Load(); + SetUpEditorRemoting(); + } + + // Subscribe to Editor events directly (cleaner separation from Runtime) + EditorApplication.playModeStateChanged += OnEditorPlayModeStateChanged; + EditorApplication.projectChanged += OnEditorProjectChanged; + + // Initialize Unity Remote support (Editor-only) + UnityRemoteSupport.Initialize(); + + // Check for backend settings + EditorApplication.delayCall += ShowRestartWarning; + + // Run initial update + InputSystem.RunInitialUpdate(); + } + + /// + /// Editor-specific remoting setup that uses EditorApplication.delayCall + /// + private static void SetUpEditorRemoting() + { + InputSystem.s_Remote = new InputRemoting(InputSystem.s_Manager); + // NOTE: We use delayCall as our initial startup will run in editor initialization before + // PlayerConnection is itself ready. If we call Bind() directly here, we won't + // see any errors but the callbacks we register for will not trigger. + EditorApplication.delayCall += SetUpRemotingInternal; + } + + private static void SetUpRemotingInternal() + { + if (InputSystem.s_RemoteConnection == null) + { + InputSystem.s_RemoteConnection = RemoteInputPlayerConnection.instance; + InputSystem.s_RemoteConnection.Bind(EditorConnection.instance, false); + } + + InputSystem.s_Remote.Subscribe(InputSystem.s_RemoteConnection); // Feed messages from players into editor. + InputSystem.s_RemoteConnection.Subscribe(InputSystem.s_Remote); // Feed messages from editor into players. + } + + /// + /// Called when InputSystem.settings changes to track it in EditorBuildSettings + /// + private static void OnSettingsChanged() + { + var settings = InputSystem.settings; + if (settings != null && !string.IsNullOrEmpty(AssetDatabase.GetAssetPath(settings))) + { + EditorBuildSettings.AddConfigObject(InputSettingsProvider.kEditorBuildSettingsConfigKey, + settings, true); + } + } + + /// + /// Validates and tracks InputActionAsset assignments in the Editor + /// + internal static void ValidateAndTrackActions(InputActionAsset value) + { + if (value != null) + { + // Do not allow assigning non-persistent assets (pure in-memory objects) + if (!EditorUtility.IsPersistent(value)) + throw new ArgumentException($"Assigning a non-persistent {nameof(InputActionAsset)} to this property is not allowed. The assigned asset needs to be persisted on disk inside the /Assets folder."); + + // Track reference to enable including it in built Players + ProjectWideActionsBuildProvider.actionsToIncludeInPlayerBuild = value; + } + } + + /// + /// Checks if actions should be enabled (Editor-specific check for play mode) + /// + internal static bool ShouldEnableActions() + { + // Abort if not in play-mode in editor + return EditorApplication.isPlayingOrWillChangePlaymode; + } + + private static void ShowRestartWarning() + { + if (!s_SystemObject.newInputBackendsCheckedAsEnabled && + !EditorPlayerSettingHelpers.newSystemBackendsEnabled && + !Application.isBatchMode) + { + const string dialogText = "This project is using the new input system package but the native platform backends for the new input system are not enabled in the player settings. " + + "This means that no input from native devices will come through." + + "\n\nDo you want to enable the backends? Doing so will *RESTART* the editor."; + + if (EditorUtility.DisplayDialog("Warning", dialogText, "Yes", "No")) + { + EditorPlayerSettingHelpers.newSystemBackendsEnabled = true; + EditorHelpers.RestartEditorAndRecompileScripts(); + } + } + s_SystemObject.newInputBackendsCheckedAsEnabled = true; + EditorApplication.delayCall -= ShowRestartWarning; + } + + /// + /// Called by EditorApplication.playModeStateChanged + /// + private static void OnEditorPlayModeStateChanged(PlayModeStateChange change) + { + // Dispatch to runtime callback if registered + if (InputRuntime.s_Instance is NativeInputRuntime nativeRuntime) + { + nativeRuntime.DispatchPlayModeChange((int)change); + } + + // Handle the change + OnPlayModeChange(change); + } + + /// + /// Called by EditorApplication.projectChanged + /// + private static void OnEditorProjectChanged() + { + // Dispatch to runtime callback if registered + if (InputRuntime.s_Instance is NativeInputRuntime nativeRuntime) + { + nativeRuntime.DispatchProjectChange(); + } + + // Handle the change + OnProjectChange(); + } + + /// + /// Public method for tests and direct calls (with PlayModeStateChange enum) + /// + internal static void OnPlayModeChange(PlayModeStateChange change) + { + switch (change) + { + case PlayModeStateChange.ExitingEditMode: + s_SystemObject.settings = JsonUtility.ToJson(InputSystem.settings); + s_SystemObject.exitEditModeTime = InputRuntime.s_Instance.currentTime; + s_SystemObject.enterPlayModeTime = 0; + + // Set times in InputManager for event filtering + InputSystem.s_Manager.m_ExitEditModeTime = s_SystemObject.exitEditModeTime; + InputSystem.s_Manager.m_EnterPlayModeTime = 0; + break; + + case PlayModeStateChange.EnteredPlayMode: + s_SystemObject.enterPlayModeTime = InputRuntime.s_Instance.currentTime; + + // Update time in InputManager + InputSystem.s_Manager.m_EnterPlayModeTime = s_SystemObject.enterPlayModeTime; + InputSystem.s_Manager.SyncAllDevicesAfterEnteringPlayMode(); + break; + + case PlayModeStateChange.ExitingPlayMode: + InputSystem.s_Manager.LeavePlayMode(); + break; + + case PlayModeStateChange.EnteredEditMode: + InputSystem.DisableActions(false); + + // Nuke all InputUsers + InputUser.ResetGlobals(); + + // Nuke all InputActionMapStates + InputActionState.DestroyAllActionMapStates(); + + // Clear the Action reference from all InputActionReference objects + InputActionReference.InvalidateAll(); + + // Restore settings + if (!string.IsNullOrEmpty(s_SystemObject.settings)) + { + JsonUtility.FromJsonOverwrite(s_SystemObject.settings, InputSystem.settings); + s_SystemObject.settings = null; + InputSystem.settings.OnChange(); + } + + // Reload input action assets marked as dirty from disk + if (s_TrackedDirtyAssets != null) + { + foreach (var assetGuid in s_TrackedDirtyAssets) + { + var assetPath = AssetDatabase.GUIDToAssetPath(assetGuid); + if (!string.IsNullOrEmpty(assetPath)) + AssetDatabase.ImportAsset(assetPath, ImportAssetOptions.ForceUpdate); + } + s_TrackedDirtyAssets.Clear(); + } + break; + } + } + + internal static void OnProjectChange() + { + InputSettingsProvider.ForceReload(); + + // If the asset holding our current settings got deleted, switch back to a temporary settings object + if (EditorUtility.InstanceIDToObject(InputSystem.s_Manager.m_Settings.GetInstanceID()) == null) + { + var newSettings = ScriptableObject.CreateInstance(); + newSettings.hideFlags = HideFlags.HideAndDontSave; + InputSystem.settings = newSettings; + } + } + + internal static void TrackDirtyInputActionAsset(InputActionAsset asset) + { + if (s_TrackedDirtyAssets == null) + s_TrackedDirtyAssets = new HashSet(); + + if (AssetDatabase.TryGetGUIDAndLocalFileIdentifier(asset, out string assetGuid, out long _)) + s_TrackedDirtyAssets.Add(assetGuid); + } + } +} diff --git a/Packages/com.unity.inputsystem/Editor/InputSystemEditorInitializer.cs.meta b/Packages/com.unity.inputsystem/Editor/InputSystemEditorInitializer.cs.meta new file mode 100644 index 0000000000..305c8d1b17 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/InputSystemEditorInitializer.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8e2f4b3c9d7a4e64f85a1c2b3d4e5f6a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/InputSystem/InputSystemObject.cs b/Packages/com.unity.inputsystem/Editor/InputSystemObject.cs similarity index 94% rename from Packages/com.unity.inputsystem/InputSystem/InputSystemObject.cs rename to Packages/com.unity.inputsystem/Editor/InputSystemObject.cs index 4bb0ddc027..f34a4fa905 100644 --- a/Packages/com.unity.inputsystem/InputSystem/InputSystemObject.cs +++ b/Packages/com.unity.inputsystem/Editor/InputSystemObject.cs @@ -26,7 +26,7 @@ public void OnBeforeSerialize() systemState.remoteConnection = InputSystem.s_RemoteConnection; systemState.managerState = InputSystem.s_Manager.SaveState(); systemState.remotingState = InputSystem.s_Remote.SaveState(); - systemState.userSettings = InputEditorUserSettings.s_Settings; + // systemState.userSettings = InputEditorUserSettings.s_Settings; } public void OnAfterDeserialize() diff --git a/Packages/com.unity.inputsystem/InputSystem/InputSystemObject.cs.meta b/Packages/com.unity.inputsystem/Editor/InputSystemObject.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/InputSystemObject.cs.meta rename to Packages/com.unity.inputsystem/Editor/InputSystemObject.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPackageControl.cs b/Packages/com.unity.inputsystem/Editor/InputSystemPackageControl.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPackageControl.cs rename to Packages/com.unity.inputsystem/Editor/InputSystemPackageControl.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPackageControl.cs.meta b/Packages/com.unity.inputsystem/Editor/InputSystemPackageControl.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPackageControl.cs.meta rename to Packages/com.unity.inputsystem/Editor/InputSystemPackageControl.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPluginControl.cs b/Packages/com.unity.inputsystem/Editor/InputSystemPluginControl.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPluginControl.cs rename to Packages/com.unity.inputsystem/Editor/InputSystemPluginControl.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPluginControl.cs.meta b/Packages/com.unity.inputsystem/Editor/InputSystemPluginControl.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPluginControl.cs.meta rename to Packages/com.unity.inputsystem/Editor/InputSystemPluginControl.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal.meta b/Packages/com.unity.inputsystem/Editor/Internal.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal.meta rename to Packages/com.unity.inputsystem/Editor/Internal.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdown.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownDataSource.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownGUI.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownItem.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownState.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/AdvancedDropdownWindow.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/CallbackDataSource.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/AdvancedDropdown/MultiLevelDataSource.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/BuildProviderHelpers.cs b/Packages/com.unity.inputsystem/Editor/Internal/BuildProviderHelpers.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/BuildProviderHelpers.cs rename to Packages/com.unity.inputsystem/Editor/Internal/BuildProviderHelpers.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/BuildProviderHelpers.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/BuildProviderHelpers.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/BuildProviderHelpers.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/BuildProviderHelpers.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/EditorHelpers.cs b/Packages/com.unity.inputsystem/Editor/Internal/EditorHelpers.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/EditorHelpers.cs rename to Packages/com.unity.inputsystem/Editor/Internal/EditorHelpers.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/EditorHelpers.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/EditorHelpers.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/EditorHelpers.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/EditorHelpers.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/GUIHelpers.cs b/Packages/com.unity.inputsystem/Editor/Internal/GUIHelpers.cs similarity index 99% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/GUIHelpers.cs rename to Packages/com.unity.inputsystem/Editor/Internal/GUIHelpers.cs index a2d374ad0c..0da8d86bf1 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/GUIHelpers.cs +++ b/Packages/com.unity.inputsystem/Editor/Internal/GUIHelpers.cs @@ -11,7 +11,7 @@ public static class Styles public static readonly GUIStyle lineSeparator = new GUIStyle().WithFixedHeight(1).WithMargin(new RectOffset(0, 0, 2, 2)); } - private const string kIconPath = "Packages/com.unity.inputsystem/InputSystem/Editor/Icons/"; + private const string kIconPath = "Packages/com.unity.inputsystem/Editor/Icons/"; public static void DrawLineSeparator(string label = null) { diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/GUIHelpers.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/GUIHelpers.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/GUIHelpers.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/GUIHelpers.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs b/Packages/com.unity.inputsystem/Editor/Internal/InputActionSerializationHelpers.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs rename to Packages/com.unity.inputsystem/Editor/Internal/InputActionSerializationHelpers.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/InputActionSerializationHelpers.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/InputActionSerializationHelpers.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputControlTreeView.cs b/Packages/com.unity.inputsystem/Editor/Internal/InputControlTreeView.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputControlTreeView.cs rename to Packages/com.unity.inputsystem/Editor/Internal/InputControlTreeView.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputControlTreeView.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/InputControlTreeView.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputControlTreeView.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/InputControlTreeView.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputEventTreeView.cs b/Packages/com.unity.inputsystem/Editor/Internal/InputEventTreeView.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputEventTreeView.cs rename to Packages/com.unity.inputsystem/Editor/Internal/InputEventTreeView.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputEventTreeView.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/InputEventTreeView.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputEventTreeView.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/InputEventTreeView.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputStateWindow.cs b/Packages/com.unity.inputsystem/Editor/Internal/InputStateWindow.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputStateWindow.cs rename to Packages/com.unity.inputsystem/Editor/Internal/InputStateWindow.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputStateWindow.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/InputStateWindow.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputStateWindow.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/InputStateWindow.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyHelpers.cs b/Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyHelpers.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyHelpers.cs rename to Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyHelpers.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyHelpers.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyHelpers.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyHelpers.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyHelpers.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyLinqExtensions.cs b/Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyLinqExtensions.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyLinqExtensions.cs rename to Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyLinqExtensions.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyLinqExtensions.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyLinqExtensions.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/SerializedPropertyLinqExtensions.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/SerializedPropertyLinqExtensions.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/TreeViewHelpers.cs b/Packages/com.unity.inputsystem/Editor/Internal/TreeViewHelpers.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/TreeViewHelpers.cs rename to Packages/com.unity.inputsystem/Editor/Internal/TreeViewHelpers.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/TreeViewHelpers.cs.meta b/Packages/com.unity.inputsystem/Editor/Internal/TreeViewHelpers.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Internal/TreeViewHelpers.cs.meta rename to Packages/com.unity.inputsystem/Editor/Internal/TreeViewHelpers.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Plugins.meta b/Packages/com.unity.inputsystem/Editor/Plugins.meta new file mode 100644 index 0000000000..802631c879 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9264bbaac8fbe403b987d9584bb1ffc5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/EnhancedTouch.meta b/Packages/com.unity.inputsystem/Editor/Plugins/EnhancedTouch.meta new file mode 100644 index 0000000000..4f1961578f --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/EnhancedTouch.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36cf437a9315840c0a1df7d24d3d2787 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/HID.meta b/Packages/com.unity.inputsystem/Editor/Plugins/HID.meta new file mode 100644 index 0000000000..6156336485 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/HID.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e38cdda355b6f4f8fb66876f964f570e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/HID/HIDDescriptorWindow.cs b/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDDescriptorWindow.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/HID/HIDDescriptorWindow.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDDescriptorWindow.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/HID/HIDDescriptorWindow.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDDescriptorWindow.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/HID/HIDDescriptorWindow.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDDescriptorWindow.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDSupportEditorInitializer.cs b/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDSupportEditorInitializer.cs new file mode 100644 index 0000000000..13c8906519 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDSupportEditorInitializer.cs @@ -0,0 +1,34 @@ +using UnityEditor; +using UnityEngine; +using UnityEngine.InputSystem.Editor; +using UnityEngine.InputSystem.HID.Editor; + +namespace UnityEngine.InputSystem.HID +{ + /// + /// Handles Editor-specific initialization for HID support. + /// + [InitializeOnLoad] + internal static class HIDSupportEditorInitializer + { + private static readonly GUIContent s_HIDDescriptor = new GUIContent("HID Descriptor"); + + static HIDSupportEditorInitializer() + { + // Add toolbar button to any devices using the "HID" interface. Opens + // a window to browse the HID descriptor of the device. + InputDeviceDebuggerWindow.onToolbarGUI += OnDeviceToolbarGUI; + } + + private static void OnDeviceToolbarGUI(InputDevice device) + { + if (device.description.interfaceName == HID.kHIDInterface) + { + if (GUILayout.Button(s_HIDDescriptor, EditorStyles.toolbarButton)) + { + HIDDescriptorWindow.CreateOrShowExisting(device.deviceId, device.description); + } + } + } + } +} diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDSupportEditorInitializer.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDSupportEditorInitializer.cs.meta new file mode 100644 index 0000000000..e07ab8b540 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/HID/HIDSupportEditorInitializer.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: efc4aca331ba242fab026845289179ff \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/InputForUI.meta b/Packages/com.unity.inputsystem/Editor/Plugins/InputForUI.meta new file mode 100644 index 0000000000..4fac629476 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/InputForUI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e37b431b8b93e4719910a045d05ba3cb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/InputForUI/InputActionAssetVerifier.cs b/Packages/com.unity.inputsystem/Editor/Plugins/InputForUI/InputActionAssetVerifier.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/InputForUI/InputActionAssetVerifier.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/InputForUI/InputActionAssetVerifier.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/InputForUI/InputActionAssetVerifier.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/InputForUI/InputActionAssetVerifier.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/InputForUI/InputActionAssetVerifier.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/InputForUI/InputActionAssetVerifier.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen.meta b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen.meta new file mode 100644 index 0000000000..706133a342 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f027141a193544959a71baea4a57d3f7 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenButtonEditor.cs b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenButtonEditor.cs new file mode 100644 index 0000000000..a0b1de4994 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenButtonEditor.cs @@ -0,0 +1,34 @@ +#if PACKAGE_DOCS_GENERATION || UNITY_INPUT_SYSTEM_ENABLE_UI +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine.InputSystem.Editor; + +namespace UnityEngine.InputSystem.OnScreen +{ + [UnityEditor.CustomEditor(typeof(OnScreenButton))] + internal class OnScreenButtonEditor : UnityEditor.Editor + { + private UnityEditor.SerializedProperty m_ControlPathInternal; + + public void OnEnable() + { + m_ControlPathInternal = serializedObject.FindProperty(nameof(OnScreenButton.m_ControlPath)); + } + + public void OnDisable() + { + new InputComponentEditorAnalytic(InputSystemComponent.OnScreenButton).Send(); + } + + public override void OnInspectorGUI() + { + // Current implementation has UGUI dependencies (ISXB-915, ISXB-916) + UGUIOnScreenControlEditorUtils.ShowWarningIfNotPartOfCanvasHierarchy((OnScreenButton)target); + + UnityEditor.EditorGUILayout.PropertyField(m_ControlPathInternal); + + serializedObject.ApplyModifiedProperties(); + } + } +} +#endif diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenButtonEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenButtonEditor.cs.meta new file mode 100644 index 0000000000..7b5d923e05 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenButtonEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 62acf18b6b5d144bea1cbe618187f44d \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenStickEditor.cs b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenStickEditor.cs new file mode 100644 index 0000000000..d92b7ac0e4 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenStickEditor.cs @@ -0,0 +1,83 @@ +#if PACKAGE_DOCS_GENERATION || UNITY_INPUT_SYSTEM_ENABLE_UI +using UnityEditor; +using UnityEditor.AnimatedValues; +using UnityEngine.InputSystem.Editor; + +namespace UnityEngine.InputSystem.OnScreen +{ + [CustomEditor(typeof(OnScreenStick))] + internal class OnScreenStickEditor : UnityEditor.Editor + { + private AnimBool m_ShowDynamicOriginOptions; + private AnimBool m_ShowIsolatedInputActions; + + private SerializedProperty m_UseIsolatedInputActions; + private SerializedProperty m_Behaviour; + private SerializedProperty m_ControlPathInternal; + private SerializedProperty m_MovementRange; + private SerializedProperty m_DynamicOriginRange; + private SerializedProperty m_PointerDownAction; + private SerializedProperty m_PointerMoveAction; + + public void OnEnable() + { + m_ShowDynamicOriginOptions = new AnimBool(false); + m_ShowIsolatedInputActions = new AnimBool(false); + + m_UseIsolatedInputActions = serializedObject.FindProperty(nameof(OnScreenStick.m_UseIsolatedInputActions)); + + m_Behaviour = serializedObject.FindProperty(nameof(OnScreenStick.m_Behaviour)); + m_ControlPathInternal = serializedObject.FindProperty(nameof(OnScreenStick.m_ControlPath)); + m_MovementRange = serializedObject.FindProperty(nameof(OnScreenStick.m_MovementRange)); + m_DynamicOriginRange = serializedObject.FindProperty(nameof(OnScreenStick.m_DynamicOriginRange)); + m_PointerDownAction = serializedObject.FindProperty(nameof(OnScreenStick.m_PointerDownAction)); + m_PointerMoveAction = serializedObject.FindProperty(nameof(OnScreenStick.m_PointerMoveAction)); + } + + public void OnDisable() + { + // Report analytics + new InputComponentEditorAnalytic(InputSystemComponent.OnScreenStick).Send(); + new OnScreenStickEditorAnalytic(this).Send(); + } + + public override void OnInspectorGUI() + { + // Current implementation has UGUI dependencies (ISXB-915, ISXB-916) + UGUIOnScreenControlEditorUtils.ShowWarningIfNotPartOfCanvasHierarchy((OnScreenStick)target); + + EditorGUILayout.PropertyField(m_MovementRange); + EditorGUILayout.PropertyField(m_ControlPathInternal); + EditorGUILayout.PropertyField(m_Behaviour); + + m_ShowDynamicOriginOptions.target = ((OnScreenStick)target).behaviour == + OnScreenStick.Behaviour.ExactPositionWithDynamicOrigin; + if (EditorGUILayout.BeginFadeGroup(m_ShowDynamicOriginOptions.faded)) + { + EditorGUI.indentLevel++; + EditorGUI.BeginChangeCheck(); + EditorGUILayout.PropertyField(m_DynamicOriginRange); + if (EditorGUI.EndChangeCheck()) + { + ((OnScreenStick)target).UpdateDynamicOriginClickableArea(); + } + EditorGUI.indentLevel--; + } + EditorGUILayout.EndFadeGroup(); + + EditorGUILayout.PropertyField(m_UseIsolatedInputActions); + m_ShowIsolatedInputActions.target = m_UseIsolatedInputActions.boolValue; + if (EditorGUILayout.BeginFadeGroup(m_ShowIsolatedInputActions.faded)) + { + EditorGUI.indentLevel++; + EditorGUILayout.PropertyField(m_PointerDownAction); + EditorGUILayout.PropertyField(m_PointerMoveAction); + EditorGUI.indentLevel--; + } + EditorGUILayout.EndFadeGroup(); + + serializedObject.ApplyModifiedProperties(); + } + } +} +#endif diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenStickEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenStickEditor.cs.meta new file mode 100644 index 0000000000..8ffdbcdb31 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/OnScreenStickEditor.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 839e0066c5f854ddda076a4ff2f80a7b \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/UGUIOnScreenControlEditorUtils.cs b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/UGUIOnScreenControlEditorUtils.cs new file mode 100644 index 0000000000..4df23f9491 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/UGUIOnScreenControlEditorUtils.cs @@ -0,0 +1,13 @@ +using UnityEditor; + +namespace UnityEngine.InputSystem.OnScreen +{ + internal static class UGUIOnScreenControlEditorUtils + { + public static void ShowWarningIfNotPartOfCanvasHierarchy(OnScreenControl target) + { + if (UGUIOnScreenControlUtils.GetCanvasRectTransform(target.transform) == null) + UnityEditor.EditorGUILayout.HelpBox(target.GetWarningMessage(), UnityEditor.MessageType.Warning); + } + } +} diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/UGUIOnScreenControlEditorUtils.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/UGUIOnScreenControlEditorUtils.cs.meta new file mode 100644 index 0000000000..0a2eaf0f45 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/OnScreen/UGUIOnScreenControlEditorUtils.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 91a3b2b6adad844ed9b680b378d8485a \ No newline at end of file diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput.meta b/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput.meta new file mode 100644 index 0000000000..0bc79df662 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95a3b96623aff409fad313b971f84743 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs b/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputEditor.cs similarity index 99% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputEditor.cs index 197d96cbc4..259fc07560 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs +++ b/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputEditor.cs @@ -24,7 +24,7 @@ namespace UnityEngine.InputSystem.Editor internal class PlayerInputEditor : UnityEditor.Editor { public const string kDefaultInputActionsAssetPath = - "Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/DefaultInputActions.inputactions"; + "Packages/com.unity.inputsystem/Runtime/Plugins/PlayerInput/DefaultInputActions.inputactions"; public void OnEnable() { diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputManagerEditor.cs b/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputManagerEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputManagerEditor.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputManagerEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputManagerEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputManagerEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputManagerEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/PlayerInput/PlayerInputManagerEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/Steam.meta b/Packages/com.unity.inputsystem/Editor/Plugins/Steam.meta new file mode 100644 index 0000000000..e3f54d2c34 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/Steam.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0a40837a6cb5749b69436d6839711335 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs b/Packages/com.unity.inputsystem/Editor/Plugins/Steam/SteamIGAConverter.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/Steam/SteamIGAConverter.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/Steam/SteamIGAConverter.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/Steam/SteamIGAConverter.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/UI.meta b/Packages/com.unity.inputsystem/Editor/Plugins/UI.meta new file mode 100644 index 0000000000..3034723d94 --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/UI.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03672f9d7e73f4134820c35a3cd46a86 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs b/Packages/com.unity.inputsystem/Editor/Plugins/UI/InputSystemUIInputModuleEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/UI/InputSystemUIInputModuleEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/UI/InputSystemUIInputModuleEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/UI/InputSystemUIInputModuleEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/StandaloneInputModuleEditor.cs b/Packages/com.unity.inputsystem/Editor/Plugins/UI/StandaloneInputModuleEditor.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/UI/StandaloneInputModuleEditor.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/UI/StandaloneInputModuleEditor.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/StandaloneInputModuleEditor.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/UI/StandaloneInputModuleEditor.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/UI/StandaloneInputModuleEditor.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/UI/StandaloneInputModuleEditor.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote.meta b/Packages/com.unity.inputsystem/Editor/Plugins/UnityRemote.meta similarity index 77% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/UnityRemote.meta index 80f08f0ee5..eb29d25d64 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote.meta +++ b/Packages/com.unity.inputsystem/Editor/Plugins/UnityRemote.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: cf0897af2cae4ebbaf8b79eaae98fb08 +guid: b67ddb076aa7b4301b132a1012ba666d folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote/UnityRemoteSupport.cs b/Packages/com.unity.inputsystem/Editor/Plugins/UnityRemote/UnityRemoteSupport.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote/UnityRemoteSupport.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/UnityRemote/UnityRemoteSupport.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote/UnityRemoteSupport.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/UnityRemote/UnityRemoteSupport.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/UnityRemote/UnityRemoteSupport.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/UnityRemote/UnityRemoteSupport.cs.meta diff --git a/Packages/com.unity.inputsystem/Editor/Plugins/iOS.meta b/Packages/com.unity.inputsystem/Editor/Plugins/iOS.meta new file mode 100644 index 0000000000..cfdf07991b --- /dev/null +++ b/Packages/com.unity.inputsystem/Editor/Plugins/iOS.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0210636210b964e4cb07b817e5ce6481 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/iOS/InputSettingsiOSProvider.cs b/Packages/com.unity.inputsystem/Editor/Plugins/iOS/InputSettingsiOSProvider.cs similarity index 98% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/iOS/InputSettingsiOSProvider.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/iOS/InputSettingsiOSProvider.cs index 36eb6f92f9..1900939131 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Plugins/iOS/InputSettingsiOSProvider.cs +++ b/Packages/com.unity.inputsystem/Editor/Plugins/iOS/InputSettingsiOSProvider.cs @@ -1,4 +1,3 @@ -#if UNITY_EDITOR using System; using UnityEditor; @@ -31,5 +30,3 @@ public void OnGUI() } } } - -#endif diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/iOS/iOSPostProcessBuild.cs b/Packages/com.unity.inputsystem/Editor/Plugins/iOS/iOSPostProcessBuild.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/iOS/iOSPostProcessBuild.cs rename to Packages/com.unity.inputsystem/Editor/Plugins/iOS/iOSPostProcessBuild.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/iOS/iOSPostProcessBuild.cs.meta b/Packages/com.unity.inputsystem/Editor/Plugins/iOS/iOSPostProcessBuild.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Plugins/iOS/iOSPostProcessBuild.cs.meta rename to Packages/com.unity.inputsystem/Editor/Plugins/iOS/iOSPostProcessBuild.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions.meta b/Packages/com.unity.inputsystem/Editor/ProjectWideActions.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions.meta rename to Packages/com.unity.inputsystem/Editor/ProjectWideActions.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs b/Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs similarity index 99% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs rename to Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs index 93c4b40073..abc7cd0299 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs +++ b/Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs @@ -13,7 +13,7 @@ internal static class ProjectWideActionsAsset { private const string kDefaultAssetName = "InputSystem_Actions"; private const string kDefaultAssetPath = "Assets/" + kDefaultAssetName + ".inputactions"; - private const string kDefaultTemplateAssetPath = "Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json"; + private const string kDefaultTemplateAssetPath = "Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json"; internal static class ProjectSettingsProjectWideActionsAssetConverter { diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs.meta b/Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs.meta rename to Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsAsset.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs b/Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs rename to Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs.meta b/Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs.meta rename to Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsBuildProvider.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json b/Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json rename to Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json.meta b/Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json.meta rename to Packages/com.unity.inputsystem/Editor/ProjectWideActions/ProjectWideActionsTemplate.json.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/GamepadButtonPropertyDrawer.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetDrawer.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionAssetSearchProvider.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawer.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawer.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawer.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawer.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawer.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawer.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawer.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawer.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawerBase.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawerBase.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawerBase.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionDrawerBase.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionMapDrawer.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionMapDrawer.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionMapDrawer.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionMapDrawer.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionMapDrawer.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionMapDrawer.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionMapDrawer.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionMapDrawer.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionPropertyDrawer.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferencePropertyDrawer.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputActionReferenceSearchProviders.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputControlPathDrawer.cs b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputControlPathDrawer.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputControlPathDrawer.cs rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputControlPathDrawer.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputControlPathDrawer.cs.meta b/Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputControlPathDrawer.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputControlPathDrawer.cs.meta rename to Packages/com.unity.inputsystem/Editor/PropertyDrawers/InputControlPathDrawer.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings.meta b/Packages/com.unity.inputsystem/Editor/Settings.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings.meta rename to Packages/com.unity.inputsystem/Editor/Settings.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/EditorPlayerSettingHelpers.cs b/Packages/com.unity.inputsystem/Editor/Settings/EditorPlayerSettingHelpers.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/EditorPlayerSettingHelpers.cs rename to Packages/com.unity.inputsystem/Editor/Settings/EditorPlayerSettingHelpers.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/EditorPlayerSettingHelpers.cs.meta b/Packages/com.unity.inputsystem/Editor/Settings/EditorPlayerSettingHelpers.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/EditorPlayerSettingHelpers.cs.meta rename to Packages/com.unity.inputsystem/Editor/Settings/EditorPlayerSettingHelpers.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputEditorUserSettings.cs b/Packages/com.unity.inputsystem/Editor/Settings/InputEditorUserSettings.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputEditorUserSettings.cs rename to Packages/com.unity.inputsystem/Editor/Settings/InputEditorUserSettings.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputEditorUserSettings.cs.meta b/Packages/com.unity.inputsystem/Editor/Settings/InputEditorUserSettings.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputEditorUserSettings.cs.meta rename to Packages/com.unity.inputsystem/Editor/Settings/InputEditorUserSettings.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsBuildProvider.cs b/Packages/com.unity.inputsystem/Editor/Settings/InputSettingsBuildProvider.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsBuildProvider.cs rename to Packages/com.unity.inputsystem/Editor/Settings/InputSettingsBuildProvider.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsBuildProvider.cs.meta b/Packages/com.unity.inputsystem/Editor/Settings/InputSettingsBuildProvider.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsBuildProvider.cs.meta rename to Packages/com.unity.inputsystem/Editor/Settings/InputSettingsBuildProvider.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs b/Packages/com.unity.inputsystem/Editor/Settings/InputSettingsProvider.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs rename to Packages/com.unity.inputsystem/Editor/Settings/InputSettingsProvider.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs.meta b/Packages/com.unity.inputsystem/Editor/Settings/InputSettingsProvider.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs.meta rename to Packages/com.unity.inputsystem/Editor/Settings/InputSettingsProvider.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/Commands.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/Commands.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/Commands.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/Commands.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/Commands.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/Commands.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/Commands.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/Commands.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs similarity index 93% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs index 6b0ba03687..c2f1930daf 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs +++ b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs @@ -97,9 +97,9 @@ public static Command SaveControlScheme(string newControlSchemeName = "", bool u state.serializedObject.ApplyModifiedProperties(); return state.With( - selectedControlScheme: new InputControlScheme(controlScheme), + selectedControlScheme: InputControlSchemeEditorExtensions.FromSerializedProperty(controlScheme), // Select the control scheme updated, otherwise select the new one it was added - selectedControlSchemeIndex: updateExisting? state.selectedControlSchemeIndex: controlSchemesArray.arraySize - 1); + selectedControlSchemeIndex: updateExisting ? state.selectedControlSchemeIndex : controlSchemesArray.arraySize - 1); }; } @@ -137,7 +137,7 @@ public static Command SelectControlScheme(int controlSchemeIndex) return state.With( selectedControlSchemeIndex: controlSchemeIndex, - selectedControlScheme: new InputControlScheme(controlSchemeSerializedProperty)); + selectedControlScheme: InputControlSchemeEditorExtensions.FromSerializedProperty(controlSchemeSerializedProperty)); }; } @@ -158,7 +158,7 @@ public static Command ResetSelectedControlScheme() } return state.With( - selectedControlScheme: new InputControlScheme(controlSchemeSerializedProperty)); + selectedControlScheme: InputControlSchemeEditorExtensions.FromSerializedProperty(controlSchemeSerializedProperty)); }; } @@ -210,13 +210,13 @@ public static Command DeleteSelectedControlScheme() if (indexOfArrayElement > serializedArray.arraySize - 1) return state.With( selectedControlSchemeIndex: serializedArray.arraySize - 1, - selectedControlScheme: new InputControlScheme(serializedArray.GetArrayElementAtIndex(serializedArray.arraySize - 1)), selectedDeviceRequirementIndex: -1); + selectedControlScheme: InputControlSchemeEditorExtensions.FromSerializedProperty(serializedArray.GetArrayElementAtIndex(serializedArray.arraySize - 1)), selectedDeviceRequirementIndex: -1); state.m_Analytics?.RegisterControlSchemeEdit(); return state.With( selectedControlSchemeIndex: indexOfArrayElement, - selectedControlScheme: new InputControlScheme(serializedArray.GetArrayElementAtIndex(indexOfArrayElement)), selectedDeviceRequirementIndex: -1); + selectedControlScheme: InputControlSchemeEditorExtensions.FromSerializedProperty(serializedArray.GetArrayElementAtIndex(indexOfArrayElement)), selectedDeviceRequirementIndex: -1); }; } diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/Commands/ControlSchemeCommands.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/EnumerableExtensions.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/EnumerableExtensions.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/EnumerableExtensions.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/EnumerableExtensions.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/EnumerableExtensions.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/EnumerableExtensions.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/EnumerableExtensions.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/EnumerableExtensions.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/ExpressionUtils.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/ExpressionUtils.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/ExpressionUtils.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/ExpressionUtils.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/ExpressionUtils.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/ExpressionUtils.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/ExpressionUtils.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/ExpressionUtils.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs similarity index 96% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs index c0c2c07c3b..5e03a3015d 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs +++ b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs @@ -6,7 +6,7 @@ internal static class InputActionsEditorConstants { // Paths public const string PackagePath = "Packages/com.unity.inputsystem"; - public const string ResourcesPath = "/InputSystem/Editor/UITKAssetEditor/PackageResources"; + public const string ResourcesPath = "/Editor/UITKAssetEditor/PackageResources"; /// Template names public const string ProjectSettingsUxml = "/InputActionsProjectSettings.uxml"; diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorConstants.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorSettingsProvider.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorState.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorState.cs similarity index 99% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorState.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorState.cs index 01190a3ad4..3d110c93e3 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorState.cs +++ b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorState.cs @@ -185,7 +185,7 @@ public InputActionsEditorState(InputActionsEditorState other, SerializedObject a { if (m_selectedControlSchemeIndex >= controlSchemesArrayProperty.arraySize) m_selectedControlSchemeIndex = 0; - m_ControlScheme = new InputControlScheme( + m_ControlScheme = InputControlSchemeEditorExtensions.FromSerializedProperty( controlSchemesArrayProperty.GetArrayElementAtIndex(other.m_selectedControlSchemeIndex)); // TODO Preserve device requirement index } diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorState.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorState.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorState.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorState.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindow.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/InputActionsEditorWindowUtils.cs.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/PackageResources.meta b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/PackageResources.meta similarity index 100% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/PackageResources.meta rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/PackageResources.meta diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/PackageResources/BindingPanelRowTemplate.uxml b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/PackageResources/BindingPanelRowTemplate.uxml similarity index 85% rename from Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/PackageResources/BindingPanelRowTemplate.uxml rename to Packages/com.unity.inputsystem/Editor/UITKAssetEditor/PackageResources/BindingPanelRowTemplate.uxml index a1a5356463..5025159a3d 100644 --- a/Packages/com.unity.inputsystem/InputSystem/Editor/UITKAssetEditor/PackageResources/BindingPanelRowTemplate.uxml +++ b/Packages/com.unity.inputsystem/Editor/UITKAssetEditor/PackageResources/BindingPanelRowTemplate.uxml @@ -2,7 +2,7 @@