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); } } }
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(); }); }