예제 #1
0
        private void Handle_Completed(AssetOperationHandle obj)
        {
            if (_handle.AssetObject == null)
            {
                return;
            }

            // 实例化对象
            Go = _handle.InstantiateSync();

            // 设置UI桌面
            if (WindowManager.Instance.Root == null)
            {
                throw new Exception($"{nameof(UIRoot)} is not create. Use WindowManager.Instance.CreateUIRoot().");
            }
            if (WindowManager.Instance.Root.IsPrepare == false)
            {
                throw new Exception($"{nameof(UIRoot)} is not prepare.");
            }
            GameObject uiDesktop = WindowManager.Instance.Root.UIDesktop;

            Go.transform.SetParent(uiDesktop.transform, false);

            // 扩展类的逻辑处理
            OnAssetLoad(Go);

            // 通知UI管理器
            IsPrepare = true;
            _prepareCallback?.Invoke(this);
            _userCallback?.Invoke(this);
        }
예제 #2
0
        private GameObject InstantiateGameObject()
        {
            var cloneObject = _handle.InstantiateSync();

            // 如果加载失败,创建临时对象
            if (cloneObject == null)
            {
                cloneObject = new GameObject(Location);
            }

            return(cloneObject);
        }
예제 #3
0
        private void Handle_Completed(AssetOperationHandle obj)
        {
            if (_handle.AssetObject == null)
            {
                return;
            }

            // 实例化对象
            Go = _handle.InstantiateSync();
            GameObject.DontDestroyOnLoad(Go);

            // 调用重载函数
            OnAssetLoad(Go);
        }