mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-02-17 18:39:07 +00:00
59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
using CounterStrikeSharp.API.Core;
|
|
using CounterStrikeSharp.API.Modules.Admin;
|
|
using CounterStrikeSharp.API.Modules.Menu;
|
|
|
|
namespace CS2_SimpleAdmin.Menus
|
|
{
|
|
public static class AdminMenu
|
|
{
|
|
public static BaseMenu CreateMenu(string title)
|
|
{
|
|
return CS2_SimpleAdmin.Instance.Config.UseChatMenu ? new ChatMenu(title) : new CenterHtmlMenu(title);
|
|
}
|
|
|
|
public static void OpenMenu(CCSPlayerController player, BaseMenu menu)
|
|
{
|
|
if (menu is CenterHtmlMenu centerHtmlMenu)
|
|
{
|
|
MenuManager.OpenCenterHtmlMenu(CS2_SimpleAdmin.Instance, player, centerHtmlMenu);
|
|
}
|
|
else if (menu is ChatMenu chatMenu)
|
|
{
|
|
MenuManager.OpenChatMenu(player, chatMenu);
|
|
}
|
|
}
|
|
|
|
public static void OpenMenu(CCSPlayerController admin)
|
|
{
|
|
if (admin == null || admin.IsValid == false)
|
|
return;
|
|
|
|
if (AdminManager.PlayerHasPermissions(admin, "@css/generic") == false)
|
|
{
|
|
// TODO: Localize
|
|
admin.PrintToChat("[Simple Admin] You do not have permissions to use this command.");
|
|
return;
|
|
}
|
|
|
|
//bool xpRights = AdminManager.PlayerHasPermissions(admin, "@wcs/xp");
|
|
|
|
BaseMenu menu = AdminMenu.CreateMenu("Simple Admin");
|
|
ChatMenuOptionData[] options = new[]
|
|
{
|
|
new ChatMenuOptionData("Manage Players", () => ManagePlayersMenu.OpenMenu(admin)),
|
|
new ChatMenuOptionData("Manage Server", () => ManageServerMenu.OpenMenu(admin)),
|
|
new ChatMenuOptionData("Fun actions", () => FunActionsMenu.OpenMenu(admin)),
|
|
new ChatMenuOptionData("Manage Admins", null)
|
|
};
|
|
|
|
foreach (ChatMenuOptionData menuOptionData in options)
|
|
{
|
|
string menuName = menuOptionData.name;
|
|
menu.AddMenuOption(menuName, (_, _) => { menuOptionData.action?.Invoke(); }, menuOptionData.disabled);
|
|
}
|
|
|
|
OpenMenu(admin, menu);
|
|
}
|
|
}
|
|
}
|