Exemplo n.º 1
0
            /// <summary>
            /// 请求完成
            public override void RequestComplete()
            {
//                 if (assetBundle.Contains(assetName))
//                 {
//                     if (onComplete != null)
//                     {
//                         GameObject obj = assetBundle.Load(assetName) as GameObject;
//                         Bundle asset = obj == null ? null : obj.GetComponent<Bundle>();
//                         if (asset != null)
//                         {
//                             asset.assetName = assetName;        // 设置名字,用于Bundle自我查找
//                             AssetBundleLoadManager.instance.mAssetCached.Add(assetName, asset);
//                             if (asset.hasDependBundle)
//                             {
//                                 asset.CollectSubBundles(this.DoInstantiateComplete);
//                             }
//                             else
//                             {
//                                 DoInstantiateComplete();
//                             }
//                         }
//                         else
//                         {
//                             onComplete(assetName, null);
//                         }
//                     }
//                 }
//                 else
//                 {
//                     if (onComplete != null)
//                         onComplete(assetName, null);
//                     Debug.LogWarning("--Toto-- AssetLoadRequest->RequestComplete: assetBundle does not contain '" + assetName + "'.");
//                 }
                // 改load为mainAsset方式

                if (onComplete != null)
                {
                    GameObject obj   = assetBundle.mainAsset as GameObject;
                    Bundle     asset = obj == null ? null : obj.GetComponent <Bundle>();
                    if (asset != null)
                    {
                        asset.assetName = assetName;        // 设置名字,用于Bundle自我查找
                        AssetBundleLoadManager.instance.mAssetCached.Add(assetName, asset);
                        if (asset.hasDependBundle)
                        {
                            asset.CollectSubBundles(this.DoInstantiateComplete);
                        }
                        else
                        {
                            DoInstantiateComplete();
                        }
                    }
                    else
                    {
                        onComplete(assetName, null);
                        Debug.LogWarning("--Toto-- AssetLoadRequest->RequestComplete: assetBundle does not contain '" + assetName + "'.");
                    }
                }
                assetBundle.Unload(false);
            }
Exemplo n.º 2
0
        /// <summary>
        /// 加载bundle回调
        /// </summary>
        /// <param name="assetName"></param>
        /// <param name="asset">bundle资源,非实例对象</param>
        protected void OnLoadBundle(string assetName, Bundle asset)
        {
            for (int i = 0; i < dependBundles.Length; ++i)
            {
                if (dependBundles[i].assetName == assetName)
                {
                    if (asset != null)
                    {
                        subBundles[i] = asset;
//                         asset.transform.parent = dependBundles[i].attachPoint;
//                         asset.transform.localPosition = Vector3.zero;
//                         if (dependBundles[i].identityLocalScale)
//                             asset.transform.localScale = Vector3.one;
//                         if (dependBundles[i].identityLocalRotation)
//                             asset.transform.localRotation = Quaternion.identity;
                        asset.CollectSubBundles(this.OnCollectSubBundle);
                    }

                    return;
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// 加载bundle回调
        /// </summary>
        /// <param name="assetName"></param>
        /// <param name="asset">bundle资源,非实例对象</param>
        protected void OnLoadBundle(string assetName, Bundle asset)
        {
            for (int i = 0; i < dependBundles.Length; ++i)
            {
                if (dependBundles[i].assetName == assetName)
                {
                    if (asset != null)
                    {
                        subBundles[i] = asset;
//                         asset.transform.parent = dependBundles[i].attachPoint;
//                         asset.transform.localPosition = Vector3.zero;
//                         if (dependBundles[i].identityLocalScale)
//                             asset.transform.localScale = Vector3.one;
//                         if (dependBundles[i].identityLocalRotation)
//                             asset.transform.localRotation = Quaternion.identity;
                        asset.CollectSubBundles(this.OnCollectSubBundle);
                    }

                    return;
                }
            }
        }