Example #1
0
        private static void WhitelistUser(APIUser user)
        {
            if (user == null)
            {
                return;
            }

            if (UserPermissionHandler.IsWhitelisted(user.id))
            {
                UserPermissionHandler.RemoveFromWhitelist(user.id);
                MelonLogger.Msg($"{user.displayName} removed from whitelist");
                Utilities.QueueHudMessage($"{user.displayName} removed from whitelist");
            }
            else
            {
                if (UserPermissionHandler.IsBlacklisted(user.id))
                {
                    UserPermissionHandler.RemoveFromBlacklist(user.id);
                }
                UserPermissionHandler.AddToWhitelist(user);
                MelonLogger.Msg($"{user.displayName} added to whitelist");
                Utilities.QueueHudMessage($"{user.displayName} added to whitelist");
            }

            UserPermissionHandler.SaveSettings();
        }
Example #2
0
        private static void ShowUsers()
        {
            ICustomShowableLayoutedMenu userPermissionsPopup = ExpansionKitApi.CreateCustomFullMenuPopup(LayoutDescription.WideSlimList);

            if (UserPermissionHandler.BlacklistedUsers.Count > 0)
            {
                userPermissionsPopup.AddLabel("Blacklisted Users");
                foreach (UserPermissionHandler.PermissionEntry blacklistedUser in UserPermissionHandler.BlacklistedUsers)
                {
                    userPermissionsPopup.AddSimpleButton(
                        blacklistedUser.DisplayName,
                        () =>
                    {
                        userPermissionsPopup.Hide();
                        UserPermissionHandler.RemoveFromBlacklist(blacklistedUser.UserId);
                        UserPermissionHandler.SaveSettings();
                        ShowUsers();
                    });
                }

                userPermissionsPopup.AddSpacer();
            }

            if (UserPermissionHandler.WhitelistedUsers.Count > 0)
            {
                userPermissionsPopup.AddLabel("Whitelisted Users");
                foreach (UserPermissionHandler.PermissionEntry whitelistedUser in UserPermissionHandler.WhitelistedUsers)
                {
                    userPermissionsPopup.AddSimpleButton(
                        whitelistedUser.DisplayName,
                        () =>
                    {
                        userPermissionsPopup.Hide();
                        UserPermissionHandler.RemoveFromWhitelist(whitelistedUser.UserId);
                        UserPermissionHandler.SaveSettings();
                        ShowUsers();
                    });
                }

                userPermissionsPopup.AddSpacer();
            }

            userPermissionsPopup.AddSimpleButton("Close", () => userPermissionsPopup.Hide());
            userPermissionsPopup.Show();
        }