diff --git a/Packages/com.unity.inputsystem/CHANGELOG.md b/Packages/com.unity.inputsystem/CHANGELOG.md
index 50228c19e3..eb84f4b680 100755
--- a/Packages/com.unity.inputsystem/CHANGELOG.md
+++ b/Packages/com.unity.inputsystem/CHANGELOG.md
@@ -15,6 +15,7 @@ however, it has to be formatted properly to pass verification tests.
- Fix for mitigating symptoms reported in ([case UUM-10774](https://issuetracker.unity3d.com/product/unity/issues/guid/UUM-10774) effectively avoiding reenabling mouse, pen or touch devices in `InputSystemPlugin.OnDestroy()` if currently quitting the editor. The fix avoids editor crashing if closed when Simulator Window is open. Note that the actual issue needs a separate fix in Unity and this package fix is only to avoid running into the issue.
- Fixed an issue where Input Action name would not display correctly in Inspector if serialized as `[SerializedProperty]` within a class not derived from `MonoBehavior` ([case ISXB-124](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-124).
- Fix an issue where users could end up with the wrong device assignments when using the InputUser API directly and removing a user ([case ISXB-274](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-231)).
+- Improved performance of editor and runtime behavior
## [1.4.2] - 2022-08-12
diff --git a/Packages/com.unity.inputsystem/InputSystem/Actions/InputAction.cs b/Packages/com.unity.inputsystem/InputSystem/Actions/InputAction.cs
index b0efcbb9d8..0b3e72764a 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Actions/InputAction.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Actions/InputAction.cs
@@ -1550,10 +1550,7 @@ internal bool ActiveControlIsValid(InputControl control)
// must be in list.
var map = GetOrCreateActionMap();
var deviceList = map.devices;
- if (deviceList != null && !deviceList.Value.ContainsReference(device))
- return false;
-
- return true;
+ return deviceList == null || deviceList.Value.ContainsReference(device);
}
internal InputBinding? FindEffectiveBindingMask()
@@ -1609,7 +1606,7 @@ internal int BindingIndexOnMapToBindingIndexOnAction(int indexOfBindingOnMap)
{
ref var binding = ref bindingsInMap[i];
- if (string.Compare(binding.action, actionName, StringComparison.InvariantCultureIgnoreCase) == 0 ||
+ if (string.Equals(binding.action, actionName, StringComparison.InvariantCultureIgnoreCase) ||
binding.action == m_Id)
++bindingIndexOnAction;
}
diff --git a/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionAsset.cs b/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionAsset.cs
index 4b9b71a2eb..7f25efca67 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionAsset.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionAsset.cs
@@ -644,7 +644,7 @@ public InputActionMap FindActionMap(string nameOrId, bool throwIfNotFound = fals
for (var i = 0; i < m_ActionMaps.Length; ++i)
{
var map = m_ActionMaps[i];
- if (string.Compare(nameOrId, map.name, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(nameOrId, map.name, StringComparison.InvariantCultureIgnoreCase))
return map;
}
@@ -718,7 +718,7 @@ public int FindControlSchemeIndex(string name)
return -1;
for (var i = 0; i < m_ControlSchemes.Length; ++i)
- if (string.Compare(name, m_ControlSchemes[i].name, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(name, m_ControlSchemes[i].name, StringComparison.InvariantCultureIgnoreCase))
return i;
return -1;
diff --git a/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionMap.cs b/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionMap.cs
index 1847ad04d2..4562d9e415 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionMap.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionMap.cs
@@ -378,7 +378,7 @@ internal int FindActionIndex(string nameOrId)
for (var i = 0; i < actionCount; ++i)
{
var action = m_Actions[i];
- if (action.m_Id == nameOrId || string.Compare(m_Actions[i].m_Name, nameOrId, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (action.m_Id == nameOrId || string.Equals(m_Actions[i].m_Name, nameOrId, StringComparison.InvariantCultureIgnoreCase))
return i;
}
@@ -1723,7 +1723,7 @@ public InputActionMap[] ToMaps()
var mapIndex = 0;
for (; mapIndex < mapList.Count; ++mapIndex)
{
- if (string.Compare(mapList[mapIndex].name, mapName, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(mapList[mapIndex].name, mapName, StringComparison.InvariantCultureIgnoreCase))
{
map = mapList[mapIndex];
break;
@@ -1774,7 +1774,7 @@ public InputActionMap[] ToMaps()
var mapIndex = 0;
for (; mapIndex < mapList.Count; ++mapIndex)
{
- if (string.Compare(mapList[mapIndex].name, mapName, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(mapList[mapIndex].name, mapName, StringComparison.InvariantCultureIgnoreCase))
{
map = mapList[mapIndex];
break;
diff --git a/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionSetupExtensions.cs b/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionSetupExtensions.cs
index f42c295957..f33235cc4d 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionSetupExtensions.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionSetupExtensions.cs
@@ -846,7 +846,7 @@ public static void Rename(this InputAction action, string newName)
var bindings = action.GetOrCreateActionMap().m_Bindings;
var bindingCount = bindings.LengthSafe();
for (var i = 0; i < bindingCount; ++i)
- if (string.Compare(bindings[i].action, oldName, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(bindings[i].action, oldName, StringComparison.InvariantCultureIgnoreCase))
bindings[i].action = newName;
}
@@ -1368,15 +1368,13 @@ private BindingSyntax Iterate(bool next)
// To find the next binding for a specific action, we may have to jump
// over unrelated bindings in-between.
var index = m_BindingIndexInMap;
- while (true)
+ do
{
index += next ? 1 : -1;
if (index < 0 || index >= bindings.Length)
return default;
-
- if (m_Action == null || bindings[index].TriggersAction(m_Action))
- break;
}
+ while (m_Action != null && !bindings[index].TriggersAction(m_Action));
return new BindingSyntax(m_ActionMap, index, m_Action);
}
diff --git a/Packages/com.unity.inputsystem/InputSystem/Actions/InputBinding.cs b/Packages/com.unity.inputsystem/InputSystem/Actions/InputBinding.cs
index 92d29faab9..2ba9571429 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Actions/InputBinding.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Actions/InputBinding.cs
@@ -751,7 +751,7 @@ public string ToDisplayString(out string deviceLayoutName, out string controlPat
internal bool TriggersAction(InputAction action)
{
// Match both name and ID on binding.
- return string.Compare(action.name, this.action, StringComparison.InvariantCultureIgnoreCase) == 0
+ return string.Equals(action.name, this.action, StringComparison.InvariantCultureIgnoreCase)
|| this.action == action.m_Id;
}
diff --git a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControl.cs b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControl.cs
index e3a7add93c..745540b0d5 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControl.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControl.cs
@@ -183,11 +183,8 @@ public string shortDisplayName
get
{
RefreshConfigurationIfNeeded();
- if (m_ShortDisplayName != null)
- return m_ShortDisplayName;
- if (m_ShortDisplayNameFromLayout != null)
- return m_ShortDisplayNameFromLayout;
- return null;
+
+ return m_ShortDisplayName != null ? m_ShortDisplayName : m_ShortDisplayNameFromLayout;
}
protected set => m_ShortDisplayName = value;
}
diff --git a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlExtensions.cs b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlExtensions.cs
index b598693655..0c2a34b2a7 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlExtensions.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlExtensions.cs
@@ -105,9 +105,7 @@ public static bool IsActuated(this InputControl control, float threshold = 0)
//
// If we're looking for a specific threshold here, consider the control to always
// be under. But if not, consider it actuated "by virtue of not being in default state".
- if (Mathf.Approximately(threshold, 0))
- return true;
- return false;
+ return Mathf.Approximately(threshold, 0);
}
if (Mathf.Approximately(threshold, 0))
diff --git a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlLayout.cs b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlLayout.cs
index 501378afdc..be3c7182c6 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlLayout.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlLayout.cs
@@ -583,7 +583,7 @@ public ControlItem this[string path]
for (var i = 0; i < m_Controls.Length; ++i)
{
ref var control = ref m_Controls[i];
- if (string.Compare(control.name, path, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(control.name, path, StringComparison.InvariantCultureIgnoreCase))
return control;
////FIXME: what this can't handle is "outerArray4/innerArray5"; not sure we care, though
diff --git a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlPath.cs b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlPath.cs
index d4659e8198..d9eba2abf6 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlPath.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Controls/InputControlPath.cs
@@ -751,10 +751,8 @@ public static bool MatchesPrefix(string expected, InputControl control)
throw new ArgumentNullException(nameof(control));
var parser = new PathParser(expected);
- if (MatchesRecursive(ref parser, control, prefixOnly: true) && parser.isAtEnd)
- return true;
- return false;
+ return MatchesRecursive(ref parser, control, prefixOnly: true) && parser.isAtEnd;
}
private static bool MatchesRecursive(ref PathParser parser, InputControl currentControl, bool prefixOnly = false)
diff --git a/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceDescription.cs b/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceDescription.cs
index 932f0af0d0..bd89bdef6d 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceDescription.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceDescription.cs
@@ -244,7 +244,7 @@ public bool Equals(InputDeviceDescription other)
///
public override bool Equals(object obj)
{
- if (ReferenceEquals(null, obj))
+ if (obj is null)
return false;
return obj is InputDeviceDescription description && Equals(description);
}
@@ -387,9 +387,7 @@ internal static bool ComparePropertyToDeviceDescriptor(string propertyName, stri
var json = new JsonParser(deviceDescriptor);
if (!json.NavigateToProperty(propertyName))
{
- if (string.IsNullOrEmpty(propertyValue))
- return true;
- return false;
+ return string.IsNullOrEmpty(propertyValue);
}
return json.CurrentPropertyHasValueEqualTo(propertyValue);
diff --git a/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceMatcher.cs b/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceMatcher.cs
index d0c63a759c..305aeed9f5 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceMatcher.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Devices/InputDeviceMatcher.cs
@@ -348,7 +348,7 @@ private static bool MatchSingleProperty(object pattern, string value)
{
// String match.
if (pattern is string str)
- return string.Compare(str, value, StringComparison.InvariantCultureIgnoreCase) == 0;
+ return string.Equals(str, value, StringComparison.InvariantCultureIgnoreCase);
// Regex match.
if (pattern is Regex regex)
diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs b/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs
index 146289199f..9b03022136 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Editor/AssetEditor/InputActionTreeView.cs
@@ -367,7 +367,7 @@ public IEnumerable GetSelectedItemsOrParentsOfType()
public void SelectFirstToplevelItem()
{
- if (rootItem.children.Any())
+ if (rootItem.children.Count > 0)
SetSelection(new[] {rootItem.children[0].id}, TreeViewSelectionOptions.FireSelectionChanged);
}
@@ -773,7 +773,7 @@ private void PasteBlocks(string transmission, InsertLocation location, bool assi
if (blocks.Length < 1)
return;
- Type CopyTagToType(string tagName)
+ static Type CopyTagToType(string tagName)
{
switch (tagName)
{
diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs b/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs
index 27aeb10d5a..850c257340 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Editor/ControlPicker/InputControlPickerDropdown.cs
@@ -347,8 +347,8 @@ private static void AddPhysicalKeyBindingsTo(AdvancedDropdownItem parent, Keyboa
// If the key has a display name that differs from the key name, show it in the UI.
var displayName = key.m_DisplayNameFromLayout;
var keyDisplayName = key.displayName;
- if (keyDisplayName.All(x => x.IsPrintable()) && string.Compare(keyDisplayName, displayName,
- StringComparison.InvariantCultureIgnoreCase) != 0)
+ if (keyDisplayName.All(x => x.IsPrintable()) && !string.Equals(keyDisplayName, displayName,
+ StringComparison.InvariantCultureIgnoreCase))
displayName = $"{displayName} (Current Layout: {key.displayName})";
// For left/right modifier keys, prepend artificial combined version.
diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs b/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs
index 02af20f560..239585ef5f 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Editor/Internal/InputActionSerializationHelpers.cs
@@ -590,7 +590,7 @@ public static void ReplaceBindingGroup(SerializedObject asset, string oldBinding
var didRename = false;
for (var n = 0; n < numGroups; ++n)
{
- if (string.Compare(groupsArray[n], oldBindingGroup, StringComparison.InvariantCultureIgnoreCase) != 0)
+ if (!string.Equals(groupsArray[n], oldBindingGroup, StringComparison.InvariantCultureIgnoreCase))
continue;
if (string.IsNullOrEmpty(newBindingGroup))
{
diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs b/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs
index f67f819283..80bc0c9e5a 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/InputActionDrawerBase.cs
@@ -103,8 +103,7 @@ private static string GetPropertyTitle(SerializedProperty property)
if (property.GetParentProperty() != null && property.GetParentProperty().isArray)
propertyTitleNumeral = $" {property.GetIndexOfArrayElement()}";
- if (property.displayName != null &&
- property.displayName.Length > 0 &&
+ if (!string.IsNullOrEmpty(property.displayName) &&
(property.type == nameof(InputAction) || property.type == nameof(InputActionMap)))
{
return $"{property.displayName}{propertyTitleNumeral}";
diff --git a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs b/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs
index edf2d2e281..c56e83a5be 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Editor/Settings/InputSettingsProvider.cs
@@ -186,7 +186,7 @@ private static void CreateNewSettingsAsset()
// Make sure it ends with .asset.
var extension = Path.GetExtension(path);
- if (string.Compare(extension, ".asset", StringComparison.InvariantCultureIgnoreCase) != 0)
+ if (!string.Equals(extension, ".asset", StringComparison.InvariantCultureIgnoreCase))
path += ".asset";
// Create settings file.
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/EnhancedTouch/Finger.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/EnhancedTouch/Finger.cs
index 3c9bf82036..e29690910e 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/EnhancedTouch/Finger.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/EnhancedTouch/Finger.cs
@@ -145,10 +145,7 @@ private static unsafe bool ShouldRecordTouch(InputControl control, double time,
// Touchscreen will record a button down and button up on a TouchControl when a tap occurs.
// We only want to record the button down, not the button up.
- if (currentTouchState->isTapRelease)
- return false;
-
- return true;
+ return !currentTouchState->isTapRelease;
}
private unsafe void OnTouchRecorded(InputStateHistory.Record record)
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs
index 79eda12f98..c629aa3d2b 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/PlayerInputEditor.cs
@@ -475,8 +475,8 @@ void AddEntry(InputAction action, PlayerInput.ActionEvent actionEvent)
var name = controlSchemes[i].name;
m_ControlSchemeOptions[i + 1] = new GUIContent(name);
- if (selectedDefaultControlScheme != null && string.Compare(name, selectedDefaultControlScheme,
- StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (selectedDefaultControlScheme != null && string.Equals(name, selectedDefaultControlScheme,
+ StringComparison.InvariantCultureIgnoreCase))
m_SelectedDefaultControlScheme = i + 1;
}
if (m_SelectedDefaultControlScheme <= 0)
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs
index cb6dde9dd5..75901036b8 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/Steam/SteamIGAConverter.cs
@@ -740,10 +740,9 @@ private static bool IsGenerateContextMenuItemEnabled()
return false;
var assetPath = AssetDatabase.GetAssetPath(Selection.activeObject);
- if (!string.IsNullOrEmpty(assetPath) && Path.GetExtension(assetPath) == ".vdf")
- return true;
- return false;
+
+ return !string.IsNullOrEmpty(assetPath) && Path.GetExtension(assetPath) == ".vdf";
}
////TODO: support setting class and namespace name
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModule.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModule.cs
index af63fa73ce..dcf6253775 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModule.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModule.cs
@@ -713,9 +713,8 @@ private bool IsMoveAllowed(AxisEventData eventData)
if (eventSystem.currentSelectedGameObject == null)
return true;
- var selectable = eventSystem.currentSelectedGameObject.GetComponent();
-
- if (selectable == null)
+
+ if (!eventSystem.currentSelectedGameObject.TryGetComponent(out var selectable))
return true;
Selectable navigationTarget = null;
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs
index 415ea83d67..796205bcb8 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/InputSystemUIInputModuleEditor.cs
@@ -16,7 +16,7 @@ private static InputActionReference GetActionReferenceFromAssets(InputActionRefe
{
foreach (var action in actions)
{
- if (string.Compare(action.action.name, actionName, StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(action.action.name, actionName, StringComparison.InvariantCultureIgnoreCase))
return action;
}
}
@@ -30,8 +30,7 @@ private static InputActionReference[] GetAllAssetReferencesFromAssetDatabase(Inp
var path = AssetDatabase.GetAssetPath(actions);
var assets = AssetDatabase.LoadAllAssetsAtPath(path);
- return assets.Where(asset => asset is InputActionReference)
- .Cast()
+ return assets.OfType()
.OrderBy(x => x.name)
.ToArray();
}
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/MultiplayerEventSystem.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/MultiplayerEventSystem.cs
index be68155123..8b50621e6f 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/MultiplayerEventSystem.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/UI/MultiplayerEventSystem.cs
@@ -51,8 +51,7 @@ private void InitializePlayerRoot()
{
if (m_PlayerRoot == null) return;
- var inputModule = GetComponent();
- if (inputModule != null)
+ if (TryGetComponent(out var inputModule))
inputModule.localMultiPlayerRoot = m_PlayerRoot;
}
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/Users/InputUser.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/Users/InputUser.cs
index fdb8199f1a..661846aba7 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/Users/InputUser.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/Users/InputUser.cs
@@ -508,8 +508,8 @@ private bool TryFindControlScheme(string schemeName, out InputControlScheme sche
var controlSchemes = s_GlobalState.allUserData[index].actions.controlSchemes;
for (var i = 0; i < controlSchemes.Count; ++i)
{
- if (string.Compare(controlSchemes[i].name, schemeName,
- StringComparison.InvariantCultureIgnoreCase) == 0)
+ if (string.Equals(controlSchemes[i].name, schemeName,
+ StringComparison.InvariantCultureIgnoreCase))
{
scheme = controlSchemes[i];
return true;
diff --git a/Packages/com.unity.inputsystem/InputSystem/Plugins/WebGL/WebGLSupport.cs b/Packages/com.unity.inputsystem/InputSystem/Plugins/WebGL/WebGLSupport.cs
index 83d4194be5..d66f41fbea 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Plugins/WebGL/WebGLSupport.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Plugins/WebGL/WebGLSupport.cs
@@ -31,7 +31,7 @@ internal static string OnFindLayoutForDevice(ref InputDeviceDescription descript
string matchedLayout, InputDeviceExecuteCommandDelegate executeCommandDelegate)
{
// If the device isn't a WebGL device, we're not interested.
- if (string.Compare(description.interfaceName, InterfaceName, StringComparison.InvariantCultureIgnoreCase) != 0)
+ if (!string.Equals(description.interfaceName, InterfaceName, StringComparison.InvariantCultureIgnoreCase))
return null;
// If it was matched by the standard mapping, we don't need to fall back to generating a layout.
diff --git a/Packages/com.unity.inputsystem/InputSystem/Utilities/InternedString.cs b/Packages/com.unity.inputsystem/InputSystem/Utilities/InternedString.cs
index c9f1da2757..12de72c095 100644
--- a/Packages/com.unity.inputsystem/InputSystem/Utilities/InternedString.cs
+++ b/Packages/com.unity.inputsystem/InputSystem/Utilities/InternedString.cs
@@ -171,26 +171,26 @@ public override string ToString()
public static bool operator==(InternedString a, string b)
{
- return string.Compare(a.m_StringLowerCase, b.ToLower(CultureInfo.InvariantCulture),
- StringComparison.InvariantCultureIgnoreCase) == 0;
+ return string.Equals(a.m_StringLowerCase, b.ToLower(CultureInfo.InvariantCulture),
+ StringComparison.InvariantCultureIgnoreCase);
}
public static bool operator!=(InternedString a, string b)
{
- return string.Compare(a.m_StringLowerCase, b.ToLower(CultureInfo.InvariantCulture),
- StringComparison.InvariantCultureIgnoreCase) != 0;
+ return !string.Equals(a.m_StringLowerCase, b.ToLower(CultureInfo.InvariantCulture),
+ StringComparison.InvariantCultureIgnoreCase);
}
public static bool operator==(string a, InternedString b)
{
- return string.Compare(a.ToLower(CultureInfo.InvariantCulture), b.m_StringLowerCase,
- StringComparison.InvariantCultureIgnoreCase) == 0;
+ return string.Equals(a.ToLower(CultureInfo.InvariantCulture), b.m_StringLowerCase,
+ StringComparison.InvariantCultureIgnoreCase);
}
public static bool operator!=(string a, InternedString b)
{
- return string.Compare(a.ToLower(CultureInfo.InvariantCulture), b.m_StringLowerCase,
- StringComparison.InvariantCultureIgnoreCase) != 0;
+ return !string.Equals(a.ToLower(CultureInfo.InvariantCulture), b.m_StringLowerCase,
+ StringComparison.InvariantCultureIgnoreCase);
}
public static bool operator<(InternedString left, InternedString right)