public static void Postfix(LevelGridMenu __instance) { if (__instance.DisplayType_ == LevelSelectMenuAbstract.DisplayType.GameLobby) { return; } LockingSystem.CreateProfile(); if (__instance.isCampaignMode_) { foreach (var campaign in Campaigns.Items) { if (campaign.Value.Enabled) { __instance.CreateAndAddCampaignLevelSet(campaign.Value.GetLevelSet(campaign.Value.GameMode, false), campaign.Value.Name, true, unlock_mode, campaign.Value.GameMode); } } } else if (__instance.modeID_ == GameModeID.Sprint) { foreach (var campaign in Campaigns.Items) { if (campaign.Value.Enabled && campaign.Value.ShowInArcade) { LevelSet set = campaign.Value.GetLevelSet(GameModeID.Sprint, true); LevelPlaylist playlist = LevelPlaylist.Create(set, $"{Constants.Strings.CampaignEntry_Color}{campaign.Value.Name}[-]"); bool unlocked = LockingSystem.IsCampaignComplete(campaign.Value.Id); __instance.CreateAndAddEntry(playlist, LevelGridMenu.PlaylistEntry.Type.Campaign, unlocked, sprint_unlock_mode); } } } __instance.buttonList_.SortAndUpdateVisibleButtons(); }
public static bool Prefix(LevelGridMenu __instance, ref int index) { LevelPlaylist playlist = __instance.DisplayedEntry_.Playlist_; string level = playlist.Playlist_[index].levelNameAndPath_.levelPath_; if (Utils.Campaign.GetCampaignUnlockMode(level) == Models.Campaign.UnlockStyle.LevelSet) { return(true); } else { bool flag = Utils.Campaign.IsCustomCampaignLevel(level) && LockingSystem.IsLevelLocked(level); if (flag) { G.Sys.MenuPanelManager_.ShowTimedOk(10, Constants.Strings.LevelLocked_Message, Constants.Strings.LevelLocked_Title); } return(!flag); } }
public static void Postfix(LevelGridMenu __instance) { bool flag_campaignmode = __instance.isCampaignMode_; if (flag_campaignmode && __instance.isActiveAndEnabled) { try { LevelPlaylist playlist = __instance.DisplayedEntry_.Playlist_; string level = playlist.GetLevelSet()[0].levelPath_.NormPath(true); if (Utils.Campaign.IsCustomCampaignLevel(level)) { __instance.modeDescription_.text = __instance.gridDescription_.text = Utils.Campaign.GetCampaignDescription(level); __instance.campaignLogo_.mainTexture = Utils.Campaign.GetCampaignLogo(level); } } catch (NullReferenceException nre) { Plugin.Log.Exception(nre); } } }