diff --git a/Assets/Code/Scripts/UI/RetroMainMenuUI.cs b/Assets/Code/Scripts/UI/MainMenuUI.cs similarity index 96% rename from Assets/Code/Scripts/UI/RetroMainMenuUI.cs rename to Assets/Code/Scripts/UI/MainMenuUI.cs index 7350d09..d4037be 100644 --- a/Assets/Code/Scripts/UI/RetroMainMenuUI.cs +++ b/Assets/Code/Scripts/UI/MainMenuUI.cs @@ -31,6 +31,19 @@ public class RetroMainMenuUI : MonoBehaviour BuildMenu(); EnsureEventSystem(); + + UnityEngine.SceneManagement.SceneManager.sceneLoaded += OnSceneLoaded; + } + + private void OnDestroy() + { + UnityEngine.SceneManagement.SceneManager.sceneLoaded -= OnSceneLoaded; + } + + private void OnSceneLoaded(UnityEngine.SceneManagement.Scene scene, UnityEngine.SceneManagement.LoadSceneMode mode) + { + // Check again when the scene finishes loading to remove any baked-in duplicate EventSystems + EnsureEventSystem(); } private void LateUpdate() @@ -316,8 +329,7 @@ public class RetroMainMenuUI : MonoBehaviour private static void EnsureEventSystem() { - EventSystem[] allEventSystems = Object.FindObjectsByType(FindObjectsSortMode.None); - + EventSystem[] allEventSystems = Object.FindObjectsByType(FindObjectsInactive.Include, FindObjectsSortMode.None); EventSystem eventSystem; if (allEventSystems.Length == 0) { diff --git a/Assets/Code/Scripts/UI/MainMenuUI.cs.meta b/Assets/Code/Scripts/UI/MainMenuUI.cs.meta new file mode 100644 index 0000000..d66b851 --- /dev/null +++ b/Assets/Code/Scripts/UI/MainMenuUI.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 297533e46238b814989fcd5d46cf8927 \ No newline at end of file diff --git a/Assets/Code/Scripts/UI/RetroMainMenuUI.cs.meta b/Assets/Code/Scripts/UI/RetroMainMenuUI.cs.meta deleted file mode 100644 index b65f731..0000000 --- a/Assets/Code/Scripts/UI/RetroMainMenuUI.cs.meta +++ /dev/null @@ -1,2 +0,0 @@ -fileFormatVersion: 2 -guid: fa612753289203548aa7ed790c42847e \ No newline at end of file