/// <summary> /// Creates the settings gameObject. /// </summary> void CreateSettings() { sceneSplitterSettings = FindObjectOfType(typeof(SceneSplitterSettings)) as SceneSplitterSettings; if (sceneSplitterSettings == null) { GameObject gameObject = new GameObject("_SceneSplitterSettings"); sceneSplitterSettings = gameObject.AddComponent <SceneSplitterSettings> (); } }
/// <summary> /// Scenes the changed. /// </summary> void SceneChanged() { currentScene = EditorApplication.currentScene; sceneSplitterSettings = FindObjectOfType(typeof(SceneSplitterSettings)) as SceneSplitterSettings; if (sceneSplitterSettings == null) { CreateSettings(); } SceneCollection[] sceneCollections = FindObjectsOfType(typeof(SceneCollection)) as SceneCollection[]; currentCollections.Clear(); listSizeCollections = 0; sceneLayers.Clear(); if (sceneCollections.Length > 0) { if (sceneLayers == null) { sceneLayers = new List <SceneCollection> (); } sceneLayers.AddRange(sceneCollections); splits = new List <Dictionary <string, GameObject> > (); foreach (var item in sceneLayers) { if (item.transform.parent != sceneSplitterSettings.transform) { item.transform.parent = sceneSplitterSettings.transform; } splits.Add(new Dictionary <string, GameObject> ()); } } foreach (var layer in sceneLayers) { FindCollection(layer); } }