Exemple #1
0
        LoadReturnArgs LoadAssetScene(ref SceneLoadArgs args, AssetBundleTaskType type = AssetBundleTaskType.LoadAsset | AssetBundleTaskType.Sync)
        {
            if (_assetBundleFeature != null)
            {
                AssetBundleContext context = _assetBundleFeature.StartRead();

                AssetBundleInfo info;
                GameAssetBundle gameAssetBundle;
                if (CanLoad(ref context, args.AssetPath, out info, out gameAssetBundle))
                {
                    AssetBundleTask task = new AssetBundleTask();
                    task.AssetInfo     = info;
                    task.TaskLoadType  = type;
                    task.TaskId        = ++_taskid;
                    task.TaskResType   = TaskResType.Scene;
                    task.Priority      = args.Priority;
                    task.CreateTime    = Time.realtimeSinceStartup;
                    task.LoadSceneMode = args.SceneMode;

                    context.AddTask(ref task);
                    _assetBundleFeature.EndRead(ref context);

                    LoadReturnArgs returnArgs = new LoadReturnArgs(this._assetBundleFeature, task.TaskId);
                    return(returnArgs);
                }
            }
            return(default(LoadReturnArgs));
        }
Exemple #2
0
 LoadReturnArgs LoadAssetScene(SceneLoadArgs args, AssetBundleTaskType type = AssetBundleTaskType.LoadAsset | AssetBundleTaskType.Sync)
 {
     return(LoadAssetScene(ref args, type));
 }
Exemple #3
0
        public LoadReturnArgs UnLoadSceneAsync(string assetpath, int priority)
        {
            SceneLoadArgs args = new SceneLoadArgs(assetpath, LoadSceneMode.Single, SceneLoadArgs.UnLoadSceneMode.Async, priority);

            return(LoadAssetScene(ref args, AssetBundleTaskType.UnLoadAsset | AssetBundleTaskType.Async));
        }
Exemple #4
0
        public LoadReturnArgs UnLoadScene(string assetpath)
        {
            SceneLoadArgs args = new SceneLoadArgs(assetpath, LoadSceneMode.Single, SceneLoadArgs.UnLoadSceneMode.Sync);

            return(LoadAssetScene(ref args, AssetBundleTaskType.UnLoadAsset));
        }
Exemple #5
0
 public LoadReturnArgs LoadSceneAsync(SceneLoadArgs args)
 {
     return(LoadAssetScene(ref args, AssetBundleTaskType.LoadAsset | AssetBundleTaskType.Async));
 }
Exemple #6
0
 public LoadReturnArgs LoadScene(SceneLoadArgs args)
 {
     return(LoadAssetScene(ref args));
 }