Пример #1
0
        public static void Initialize()
        {
            if (_node == null)
            {
                _hasInitialized       = true;
                _node                 = new GameObject("[ProgramRoot]");
                _coroutine            = _node.AddComponent <RootCoroutine>();
                _coroutine.hideFlags |= HideFlags.HideInInspector;
                _loadingCoroutines    = new RootCoroutine[loadingCoroutineCount];
                for (int i = 0; i < loadingCoroutineCount; ++i)
                {
                    _loadingCoroutines[i]            = _node.AddComponent <RootCoroutine>();
                    _loadingCoroutines[i].hideFlags |= HideFlags.HideInInspector;
                }
                _root = _node.transform;
                UnityLogFile.Instance.SetParent(_root);

                InitRenderFeature();
                GameObject.DontDestroyOnLoad(_node);
            }
        }
Пример #2
0
 public static void UnInitialize()
 {
     if (_node != null)
     {
         if (_loadingCoroutines != null)
         {
             for (int i = 0; i < _loadingCoroutines.Length; ++i)
             {
                 _loadingCoroutines[i].StopAllCoroutines();
             }
             _loadingCoroutines = null;
         }
         if (_coroutine != null)
         {
             _coroutine.StopAllCoroutines();
             _coroutine = null;
         }
         GameObject.DestroyImmediate(_node);
         _node           = null;
         _hasInitialized = false;
     }
 }