public static bool Init() { if (s_instance == null) { var gameObject = new GameObject("ManagerContainerExecutor"); gameObject.hideFlags = HideFlags.HideAndDontSave; s_instance = gameObject.AddComponent <ManagerContainerExecutor>(); DontDestroyOnLoad(gameObject); return(false); } else { return(s_instance.m_initialized); } }
protected void Awake() { if (m_createAsGlobalContainer) { Debug.Assert(s_globalContainer == null, "There must be only one global container at a time"); s_globalContainer = this; DontDestroyOnLoad(gameObject); } else { Debug.Assert(!s_managerContainers.ContainsKey(gameObject.scene), "There must be only one scene container per scene"); s_managerContainers[gameObject.scene] = this; } if (ManagerContainerExecutor.Init()) { InitContainer(); } }