private IEnumerator Start() { ChildrenFromScene childrenFromScene = this; Scene sceneByName = SceneManager.GetSceneByName(childrenFromScene.SceneName); if (!((Scene) ref sceneByName).get_isLoaded()) { yield return((object)SceneManager.LoadSceneAsync(childrenFromScene.SceneName, (LoadSceneMode)1)); } sceneByName = SceneManager.GetSceneByName(childrenFromScene.SceneName); foreach (GameObject rootGameObject in ((Scene) ref sceneByName).GetRootGameObjects()) { rootGameObject.get_transform().SetParent(((Component)childrenFromScene).get_transform(), false); rootGameObject.Identity(); RectTransform transform = rootGameObject.get_transform() as RectTransform; if (Object.op_Implicit((Object)transform)) { transform.set_pivot(Vector2.get_zero()); transform.set_anchoredPosition(Vector2.get_zero()); transform.set_anchorMin(Vector2.get_zero()); transform.set_anchorMax(Vector2.get_one()); transform.set_sizeDelta(Vector2.get_one()); } foreach (SingletonComponent componentsInChild in (SingletonComponent[])rootGameObject.GetComponentsInChildren <SingletonComponent>(true)) { componentsInChild.Setup(); } if (childrenFromScene.StartChildrenDisabled) { rootGameObject.SetActive(false); } } SceneManager.UnloadSceneAsync(sceneByName); }
private IEnumerator Start() { ChildrenFromScene childrenFromScene = null; UnityEngine.Debug.LogWarning(string.Concat("WARNING: CHILDRENFROMSCENE(", childrenFromScene.SceneName, ") - WE SHOULDN'T BE USING THIS SHITTY COMPONENT NOW WE HAVE AWESOME PREFABS"), childrenFromScene.gameObject); Scene sceneByName = SceneManager.GetSceneByName(childrenFromScene.SceneName); if (!sceneByName.isLoaded) { yield return(SceneManager.LoadSceneAsync(childrenFromScene.SceneName, LoadSceneMode.Additive)); } sceneByName = SceneManager.GetSceneByName(childrenFromScene.SceneName); GameObject[] rootGameObjects = sceneByName.GetRootGameObjects(); for (int i = 0; i < (int)rootGameObjects.Length; i++) { GameObject gameObject = rootGameObjects[i]; gameObject.transform.SetParent(childrenFromScene.transform, false); gameObject.Identity(); RectTransform rectTransform = gameObject.transform as RectTransform; if (rectTransform) { rectTransform.pivot = Vector2.zero; rectTransform.anchoredPosition = Vector2.zero; rectTransform.anchorMin = Vector2.zero; rectTransform.anchorMax = Vector2.one; rectTransform.sizeDelta = Vector2.one; } SingletonComponent[] componentsInChildren = gameObject.GetComponentsInChildren <SingletonComponent>(true); for (int j = 0; j < (int)componentsInChildren.Length; j++) { componentsInChildren[j].SingletonSetup(); } if (childrenFromScene.StartChildrenDisabled) { gameObject.SetActive(false); } } SceneManager.UnloadSceneAsync(sceneByName); }