Пример #1
0
        IEnumerator OnLoadAsset(string abname, string assetName, LuaFunction func)
        {
            AssetBundleManifestOperation requestManifest = ResourceManager.Initialize(assetDir);

            if (requestManifest != null)
            {
                yield return(StartCoroutine(requestManifest));
            }

            // Load asset from assetBundle.
            string abName = abname.ToLower() + assetExt;
            //LogUtil.Log(string.Format("LoadAssetBundle:{0}", abName));
            AssetBundleAssetOperation request = ResourceManager.LoadAssetAsync(abName, assetName, typeof(UnityEngine.Object));

            if (request == null)
            {
                yield break;
            }
            yield return(StartCoroutine(request));

            // Get the asset.
            UnityEngine.Object prefab = request.GetAsset <UnityEngine.Object>();
            if (func != null)
            {
                func.call(prefab);
                func.Dispose();
                func = null;
            }
        }
Пример #2
0
        // Load asset from the given assetBundle.
        static public AssetBundleAssetOperation LoadAssetAsync(string assetBundleName, string assetName, System.Type type)
        {
            AssetBundleAssetOperation operation = null;

            LoadAssetBundle(assetBundleName);
            operation = new AssetBundleLoadAssetOperation(assetBundleName, assetName, type);
            m_InProgressOperations.Add(operation);  //添加进处理中列表,等Update处理
            return(operation);
        }