static async Task AsyncLoadDependencies(AssetBundleHandle handle, string abUrl)
        {
            var manifest = Manifest;

            string[] deps         = manifest.GetAllDependencies(abUrl);
            var      depLoadTasks = new List <Task <AssetBundleHandle> >();

            for (int i = 0; i < deps.Length; ++i)
            {
                string d         = deps[i];
                var    depHandle = AssetSystem.Instance.FindAsset(d);
                if (null != depHandle)
                {
                    handle.AddDependency(depHandle);
                }
                else
                {
                    depLoadTasks.Add(AsyncLoad(d));
                }
            }

            while (depLoadTasks.Count > 0)
            {
                var task = await Task.WhenAny(depLoadTasks);

                handle.AddDependency(task.Result);
                depLoadTasks.Remove(task);
            }
        }
        static void LoadDependencies(AssetBundleHandle handle, string abUrl)
        {
            var manifest = Manifest;

            string[] deps = manifest.GetAllDependencies(abUrl);
            for (int i = 0; i < deps.Length; ++i)
            {
                string d         = deps[i];
                var    depHandle = AssetSystem.Instance.FindAsset(d);
                if (null == depHandle)
                {
                    depHandle = Load(d);
                }
                handle.AddDependency(depHandle);
            }
        }