void Update() { if (SelectionGroupManager.instance == null) { SelectionGroupManager.CreateAndLoad(); Repaint(); } }
internal static void CreateAndLoad() { System.Diagnostics.Debug.Assert(s_Instance == null); //Find existing var managers = Resources.FindObjectsOfTypeAll(typeof(SelectionGroupManager)); if (managers.Length > 0) { s_Instance = managers[0] as SelectionGroupManager; if (managers.Length != 1) { Debug.LogError($"Multiple SelectionGroupManager instances detected! {managers.Length}"); } } if (s_Instance == null) { // Load string filePath = GetFilePath(); if (!string.IsNullOrEmpty(filePath)) { // If a file exists the var objects = InternalEditorUtility.LoadSerializedFileAndForget(filePath); if (objects.Length > 0 && objects[0] is SelectionGroupManager) { s_Instance = (SelectionGroupManager)objects[0]; } } } if (s_Instance == null) { // Create var t = CreateInstance <SelectionGroupManager>(); // t.hideFlags = HideFlags.HideAndDontSave; s_Instance = t; } System.Diagnostics.Debug.Assert(s_Instance != null); }