- Config upgrade
- Translatable  and customizable menu
- More async
- Minor changes
This commit is contained in:
Dawid Bepierszcz
2024-04-29 00:04:42 +02:00
parent aefa6c6355
commit c321502937
37 changed files with 1078 additions and 701 deletions

View File

@@ -1,29 +1,16 @@
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Menu;
namespace CS2_SimpleAdmin.Menus
{
public static class DurationMenu
{
// TODO: Localize
public static Tuple<string, int>[] _durations = new[]
{
new Tuple<string, int>("1 minute", 1),
new Tuple<string, int>("5 minutes", 5),
new Tuple<string, int>("15 minutes", 15),
new Tuple<string, int>("1 hour", 60),
new Tuple<string, int>("1 day", 60 * 24),
new Tuple<string, int>("Permanent", 0)
};
public static void OpenMenu(CCSPlayerController admin, string menuName, CCSPlayerController? player, Action<CCSPlayerController, CCSPlayerController?, int> onSelectAction)
{
BaseMenu menu = AdminMenu.CreateMenu(menuName);
var menu = AdminMenu.CreateMenu(menuName);
foreach (Tuple<string, int> duration in _durations)
foreach (var durationItem in CS2_SimpleAdmin.Instance.Config.MenuConfigs.Durations)
{
string optionName = duration.Item1;
menu.AddMenuOption(optionName, (_, _) => { onSelectAction?.Invoke(admin, player, duration.Item2); });
menu.AddMenuOption(durationItem.Name, (_, _) => { onSelectAction(admin, player, durationItem.Duration); });
}
AdminMenu.OpenMenu(admin, menu);