Ejemplo n.º 1
0
        private async Task RealLoadBundleAsync(string assetBundleName)
        {
            assetBundleName = assetBundleName.ToLower();

            //ABInfo abInfo;
            //if (this.bundles.TryGetValue(assetBundleName, out abInfo))
            //{
            //    Log.Debug($"RealLoadBundleAsync 读取到已经有的Bundle: {assetBundleName}");
            //    ++abInfo.RefCount;
            //    return;
            //}

            string[] dependencies = ResourcesHelper.GetSortedDependencies(assetBundleName);

            // Log.Debug($"-----------dep load {assetBundleName} dep: {dependencies.ToList().ListToString()}");
            foreach (string dependency in dependencies)
            {
                if (string.IsNullOrEmpty(dependency))
                {
                    continue;
                }
                await this.LoadOneBundleAsync(dependency);
            }
            //await LoadOneBundleAsync(assetBundleName);
        }
Ejemplo n.º 2
0
        public void UnloadBundle(string assetBundleName)
        {
            assetBundleName = assetBundleName.ToLower();

            string[] dependencies = ResourcesHelper.GetSortedDependencies(assetBundleName);

            //Log.Debug($"-----------dep unload {assetBundleName} dep: {dependencies.ToList().ListToString()}");
            foreach (string dependency in dependencies)
            {
                this.UnloadOneBundle(dependency);
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 异步加载assetbundle
        /// </summary>
        /// <param name="assetBundleName"></param>
        /// <returns></returns>
        public async Task LoadBundleAsync(string assetBundleName)
        {
            assetBundleName = assetBundleName.ToLower();
            string[] dependencies = ResourcesHelper.GetSortedDependencies(assetBundleName);

            //Log.Debug($"-----------dep load {assetBundleName} dep: {dependencies.ToList().ListToString()}");
            foreach (string dependency in dependencies)
            {
                if (string.IsNullOrEmpty(dependency))
                {
                    continue;
                }
                await this.LoadOneBundleAsync(dependency);
            }
        }