Base menu structure done

This commit is contained in:
Valentin Barat
2024-01-31 17:06:54 +01:00
parent bad4289c5c
commit 4fd268b235
5 changed files with 230 additions and 0 deletions

41
Menus/AdminMenu.cs Normal file
View File

@@ -0,0 +1,41 @@
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Menu;
namespace CS2_SimpleAdmin.Menus
{
public static class AdminMenu
{
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");
CenterHtmlMenu menu = new CenterHtmlMenu("Simple Admin");
ChatMenuOptionData[] options = new[]
{
new ChatMenuOptionData("Manage Players", () => ManagePlayersMenu.OpenMenu(admin))
//new ChatMenuOptionData("Manage Server", () => GiveXp.OpenMenu(admin, false)),
//new ChatMenuOptionData("Fun actions", () => GiveXp.OpenMenu(admin, true)),
//new ChatMenuOptionData("Manage Admins", () => GiveLevels.OpenMenu(admin, false))
};
foreach (ChatMenuOptionData menuOptionData in options)
{
string menuName = menuOptionData.name;
menu.AddMenuOption(menuName, (_, _) => { menuOptionData.action?.Invoke(); }, menuOptionData.disabled);
}
MenuManager.OpenCenterHtmlMenu(CS2_SimpleAdmin.Instance, admin, menu);
}
}
}