示例#1
0
 private void OnLoadFinish()
 {
     if (_proxy == null)
     {
         _atlasPrefab = _proxy.GetInstantiateObject <GameObject>();
         if (_atlasPrefab == null)
         {
             Deprecated = true;
         }
         else
         {
             _atlasPrefab.transform.SetParent(AtlasMgr.singleton.AtlasRoot.transform);
         }
     }
     if (!Deprecated)
     {
         var behaviour = _atlasPrefab.GetComponent <AtlasBehaviour>();
         if (behaviour == null)
         {
             Deprecated = true;
         }
         for (var i = 0; i < behaviour._spriteList.Count; i++)
         {
             var sprite = behaviour._spriteList[i];
             if (sprite)
             {
                 _spriteDict[sprite.name] = sprite;
             }
         }
         foreach (var temp in _objectRefDict)
         {
             TrySetSprite(temp.Key, temp.Value);
         }
     }
 }
示例#2
0
        public GameObject Get()
        {
            if (null == _assetProxy || _assetProxy.IsFinish)
            {
                LogHelper.PrintError($"[GameObjectPool]GetGameObject error, pool:{AssetPath} assetProxy is not finish.");
                return(null);
            }
            GameObject go;

            if (_stack.Count == 0)
            {
                go = _assetProxy.GetInstantiateObject <GameObject>();
                var instanceID = go.GetInstanceID();
                _instanceIDHashSet.Add(instanceID);
            }
            else
            {
                go = _stack.Pop();
            }
            if (go)
            {
                go.transform.SetParent(null);
            }
            return(go);
        }
 protected override void OnInitialize()
 {
     base.OnInitialize();
     _uiRootProxy = ResourceMgr.singleton.LoadAssetAsync(_uiRoot);
     _uiRootProxy.AddLoadFinishCallBack(() =>
     {
         var go = _uiRootProxy.GetInstantiateObject <GameObject>();
         go.transform.localPosition = Vector3.zero;
         MainUICamera = go.transform.Find("MainUICamera").GetComponent <Camera>();
         DontDestroyOnLoad(go);
         OnInitFinish();
     });
     _mainCameraProxy = ResourceMgr.singleton.LoadAssetAsync(_mainCamera);
     _mainCameraProxy.AddLoadFinishCallBack(() =>
     {
         var go = _mainCameraProxy.GetInstantiateObject <GameObject>();
         go.transform.localPosition = Vector3.zero;
         MainCamera = go.transform.GetComponent <Camera>();
         DontDestroyOnLoad(go);
         OnInitFinish();
     });
 }