public AssetBundleLoadSceneResult(UnityWebRequest request, string sceneName, LoadSceneMode loadMode, object userState) : base(null, userState) { _assetBundleLoadResult = new WebRequestResult <AssetBundle>(request); _sceneLoadResult = new AssetBundleSceneRequestResult(sceneName, loadMode); _assetBundleLoadResult.AddCompletionCallback(_sceneLoadResult); _sceneLoadResult.AddCompletionCallback(this); }
/// <summary> /// Creates an asyncronous operation optimized for loading scenes from an <see cref="AssetBundle"/>. /// </summary> /// <param name="assetBundle">The source <see cref="AssetBundle"/>.</param> /// <param name="sceneName">Name of the scene to load. If <see langword="null"/> the first scene in the asset bundle is loaded.</param> /// <param name="loadMode">Scene load mode.</param> /// <param name="userState">User-defined data.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="assetBundle"/> is <see langword="null"/>.</exception> /// <returns>An operation that can be used to track the load process.</returns> public static IAsyncOperation <Scene> GetAssetBundleSceneAsync(AssetBundle assetBundle, string sceneName, LoadSceneMode loadMode, object userState = null) { if (assetBundle == null) { throw new ArgumentNullException("assetBundle"); } var result = new Helpers.AssetBundleSceneRequestResult(assetBundle, sceneName, loadMode, userState); result.Start(); return(result); }