Example #1
0
        LoadReturnArgs CreateGameObject(ref GameObjectLoadArgs 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.GameObject;
                    task.Priority     = args.Priority;
                    task.CreateTime   = Time.realtimeSinceStartup;

                    //info
                    task.Result.Position = args.Position;
                    task.Result.Rotation = args.Rotation;
                    task.Result.Scale    = args.Scale;
                    task.Result.Parent   = args.Parent;
                    //
                    Debug.LogFormat("Task ---- {0} Created", task);

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

                    LoadReturnArgs returnArgs = new LoadReturnArgs(this._assetBundleFeature, task.TaskId);
                    return(returnArgs);
                }
            }

            return(default(LoadReturnArgs));
        }
Example #2
0
 public LoadReturnArgs LoadGameObjectAsync(GameObjectLoadArgs args)
 {
     return(CreateGameObject(ref args, AssetBundleTaskType.LoadAsset | AssetBundleTaskType.Async));
 }
Example #3
0
 LoadReturnArgs CreateGameObject(GameObjectLoadArgs args, AssetBundleTaskType type = AssetBundleTaskType.LoadAsset | AssetBundleTaskType.Sync)
 {
     return(CreateGameObject(ref args, type));
 }
Example #4
0
 public LoadReturnArgs LoadGameObject(GameObjectLoadArgs args)
 {
     return(CreateGameObject(ref args));
 }