static void Init() { // Get existing open window or if none, make a new one: LocalAreaUpdaterEditor window = EditorWindow.GetWindow <LocalAreaUpdaterEditor> ("Local Area [BETA]"); window.Show(); SceneView.onSceneGUIDelegate += window.OnSceneGUI; window.loadedScenes.Clear(); window.loadedScenes.AddRange(EditorSceneManager.GetAllScenes()); }
/// <summary> /// Unloads all scenes. /// </summary> void UnloadScenes() { UnityEngine.SceneManagement.Scene scene = EditorSceneManager.GetActiveScene(); foreach (var item in EditorSceneManager.GetAllScenes()) { if (item != scene) { EditorSceneManager.CloseScene(item, true); } } }
public static List <T> FindObjectsOfTypeAllScenesEditor <T>(bool includeInactive = true) => EditorSceneManager.GetAllScenes().Where(s => s.isLoaded).SelectMany(s => s.GetRootGameObjects()).SelectMany(g => g.GetComponentsInChildren <T>(includeInactive)).ToList();