Пример #1
0
        private void LoadDependenyBundleAsync(System.Action onLoadDone)
        {
            var assetBundleFileName = Name.Remove(0, PREFIX.Length);

            var dependBundles = Manifest.GetDirectDependencies(assetBundleFileName);

            if (dependBundles.Length == 0)
            {
                onLoadDone();
            }

            var loadedCount = 0;

            foreach (var dependBundle in dependBundles)
            {
                mResLoader.LoadAsync <AssetBundle>("ab://" + dependBundle, (succeed, res) =>
                {
                    loadedCount++;

                    if (loadedCount == dependBundles.Length)
                    {
                        onLoadDone();
                    }
                });
            }
        }
        void Start()
        {
            // mResLoader.Load<AssetBundle>("ab://coin_get");
            // var coinGetPrefab = mResLoader.Load<GameObject>("coin_get_prefab", "coin_get");

            // Instantiate(coinGetPrefab);
            mResLoader.LoadAsync <GameObject>("coin_get_prefab", "coin_get", (b, res) =>
            {
                if (b)
                {
                    Instantiate(res.Asset);
                    Debug.Log(" res.RefCount" + res.RefCount);
                }
            });
        }
Пример #3
0
        public override void LoadAsync()
        {
            State = ResState.Loading;

            mResLoader.LoadAsync <AssetBundle>(AssetBundleRes.PREFIX + OwnerBundleName, (succeed, res) =>
            {
                var bundle       = res.Asset as AssetBundle;
                var assetRequest = bundle.LoadAssetAsync(Name, ResType);

                assetRequest.completed += operation =>
                {
                    Asset = assetRequest.asset;

                    State = ResState.Loaded;

                    DispatchOnLoadEvent(true);
                };
            });
        }