internal static void Prefix(QuickPlaySongPacksDropdown __instance, ref MasterServerQuickPlaySetupData.QuickPlaySongPacksOverride ____quickPlaySongPacksOverride, ref bool ____initialized) { if (ModStatusProvider.ShouldBlockSongPackOverrides || QuickPlaySongPacksDropdownPatch.TaskState != QuickPlaySongPacksDropdownPatch.TaskStateEnum.Finished) { ____quickPlaySongPacksOverride = null; ____initialized = false; } }
public static void UpdateSongPacks() { if (cancellationTokenSource.Token.CanBeCanceled) { cancellationTokenSource.Cancel(); } cancellationTokenSource = new CancellationTokenSource(); QuickPlaySongPacksDropdown instance = GameClassInstanceProvider.Instance.QuickPlaySongPacksDropdown; if (instance != null) { instance.SetField <QuickPlaySongPacksDropdown, MasterServerQuickPlaySetupData.QuickPlaySongPacksOverride>("_quickPlaySongPacksOverride", null); } if (ModStatusProvider.ShouldBlockSongPackOverrides) { Plugin.Logger.Info("MultiplayerExtensions not installed, not overriding packs"); return; } TaskState = TaskStateEnum.Running; System.Threading.Tasks.Task.Run(async() => { try { Plugin.Logger.Info("Get QuickPlaySongPacksOverride"); var quickPlaySetupData = await GameClassInstanceProvider.Instance.MasterServerQuickPlaySetupModel.GetQuickPlaySetupAsync(cancellationTokenSource.Token); return(quickPlaySetupData.quickPlayAvailablePacksOverride); } catch (Exception) { Plugin.Logger.Warn("Could not get QuickPlaySongPacksOverride"); TaskState = TaskStateEnum.Failed; return(null); } }).ContinueWith(r => { Plugin.Logger.Debug("ContinueWith running for quickplaySongPackOverrides"); if (instance != null) { instance.SetField("_quickPlaySongPacksOverride", r.Result); instance.SetField("_initialized", false); } if (TaskState == TaskStateEnum.Running) { TaskState = TaskStateEnum.Finished; } //MultiplayerModeSelectionFlowCoordinatorPatch.ShowQuickPlayLobbyScreenIfWaiting(); //GameClassInstanceProvider.Instance.QuickPlaySongPacksDropdown.LazyInit(); } ); }
internal static void Prefix(QuickPlaySongPacksDropdown __instance) { GameClassInstanceProvider.Instance.QuickPlaySongPacksDropdown = __instance; }