Skip to content

Commit 15c4d2d

Browse files
committed
refactored to add and remove buildtargets to a set
1 parent 10c4c08 commit 15c4d2d

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

Packages/com.unity.inputsystem/InputSystem/Editor/InputSystemPluginControl.cs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#if UNITY_EDITOR
22
#if UNITY_2021_1_OR_NEWER
33
using System;
4+
using System.Collections.Generic;
45
using UnityEditor;
56

67
namespace UnityEngine.InputSystem.Editor
@@ -20,10 +21,10 @@ public class InputSystemPluginControl
2021
private static void CheckForExtension()
2122
{
2223
ThrowWarningOnMissingPlugin();
23-
m_pluginPackageRegistered = false;
2424
}
2525

26-
private static readonly BuildTarget[] TargetNoPluginNeeded =
26+
//This static HashSet will be reset OnDomainReload and so it will be emptied and refilled every [InitializeOnLoad]]
27+
private static HashSet<BuildTarget> s_targetNoPluginNeeded = new HashSet<BuildTarget>()
2728
{
2829
BuildTarget.StandaloneOSX,
2930
BuildTarget.StandaloneWindows,
@@ -51,12 +52,10 @@ private static void CheckForExtension()
5152
BuildTarget.NoTarget
5253
};
5354

54-
private static bool m_pluginPackageRegistered = false;
55-
5655
static bool BuildTargetNeedsPlugin()
5756
{
5857
BuildTarget target = EditorUserBuildSettings.activeBuildTarget;
59-
foreach (var platform in TargetNoPluginNeeded)
58+
foreach (var platform in s_targetNoPluginNeeded)
6059
{
6160
if (platform == target) return false;
6261
}
@@ -73,13 +72,12 @@ static bool BuildTargetNeedsPlugin()
7372
/// </remarks>
7473
public static void RegisterPlatform(BuildTarget target)
7574
{
76-
m_pluginPackageRegistered = true;
75+
if (EditorUserBuildSettings.activeBuildTarget == target)
76+
s_targetNoPluginNeeded.Add(target);
7777
}
7878

7979
private static bool IsPluginInstalled()
8080
{
81-
if (m_pluginPackageRegistered)
82-
return true;
8381
var registeredPackages = UnityEditor.PackageManager.PackageInfo.GetAllRegisteredPackages();
8482
var plugInName = PlugInName + EditorUserBuildSettings.activeBuildTarget.ToString().ToLower();
8583
foreach (var package in registeredPackages)

0 commit comments

Comments
 (0)