/// <summary> /// Builds player content using the player content version from a specified cache file. /// </summary> /// <param name="settings">The settings object to use for the build.</param> /// <param name="contentStateDataPath">The path of the cache data to use.</param> /// <returns>The build operation.</returns> public static AddressablesPlayerBuildResult BuildContentUpdate(AddressableAssetSettings settings, string contentStateDataPath) { var cacheData = LoadContentState(contentStateDataPath); if (!IsCacheDataValid(settings, cacheData)) { return(null); } s_StreamingAssetsExists = Directory.Exists("Assets/StreamingAssets"); var context = new AddressablesDataBuilderInput(settings, cacheData.playerVersion); context.PreviousContentState = cacheData; Cleanup(!s_StreamingAssetsExists, false); SceneManagerState.Record(); var result = settings.ActivePlayerDataBuilder.BuildData <AddressablesPlayerBuildResult>(context); if (!string.IsNullOrEmpty(result.Error)) { Debug.LogError(result.Error); } SceneManagerState.Restore(); return(result); }
static SceneManagerState Create(SceneSetup[] scenes) { var scenesList = new List <SceneState>(); var state = new SceneManagerState(); foreach (var s in scenes) { scenesList.Add(new SceneState(s)); } state.openSceneState = scenesList.ToArray(); var edbss = new List <EbsSceneState>(); foreach (var s in BuiltinSceneCache.scenes) { edbss.Add(new EbsSceneState(s)); } state.editorBuildSettingsSceneState = edbss.ToArray(); return(state); }