private static void ShowWorlds() { ICustomShowableLayoutedMenu worldsPermissionsPopup = ExpansionKitApi.CreateCustomFullMenuPopup(LayoutDescription.WideSlimList); if (WorldPermissionHandler.BlacklistedWorlds.Count > 0) { worldsPermissionsPopup.AddLabel("Blacklisted Worlds"); foreach (WorldPermissionHandler.PermissionEntry blacklistedWorld in WorldPermissionHandler.BlacklistedWorlds) { worldsPermissionsPopup.AddSimpleButton( blacklistedWorld.WorldName, () => { worldsPermissionsPopup.Hide(); WorldPermissionHandler.RemoveFromBlacklist(blacklistedWorld.WorldId); WorldPermissionHandler.SaveSettings(); ShowWorlds(); }); } worldsPermissionsPopup.AddSpacer(); } worldsPermissionsPopup.AddSimpleButton("Close", () => worldsPermissionsPopup.Hide()); worldsPermissionsPopup.Show(); }
private static void BlacklistWorld() { ApiWorld currentWorld = Object.FindObjectOfType <PageWorldInfo>()?.field_Private_ApiWorld_0; if (currentWorld == null) { return; } if (WorldPermissionHandler.IsBlacklisted(currentWorld.id)) { WorldPermissionHandler.RemoveFromBlacklist(currentWorld.id); MelonLogger.Msg($"{currentWorld.name} removed from blacklist"); Utilities.QueueHudMessage($"{currentWorld.name} removed from blacklist"); } else { WorldPermissionHandler.AddToBlacklist(currentWorld); MelonLogger.Msg($"{currentWorld.name} added to blacklist"); Utilities.QueueHudMessage($"{currentWorld.name} added to blacklist"); } WorldPermissionHandler.SaveSettings(); }