This commit is contained in:
Juzlus 2025-09-12 02:24:04 +02:00
parent a7009be3e0
commit 898f86f888
137 changed files with 3553 additions and 3780 deletions

View file

@ -0,0 +1,13 @@
using CounterStrikeSharp.API.Core;
namespace WASDSharedAPI;
public interface IWasdMenu
{
public string? Title { get; set; }
public string? ControlText { get; set; }
public LinkedList<IWasdMenuOption>? Options { get; set; }
// previous option node
public LinkedListNode<IWasdMenuOption>? Prev { get; set; }
public LinkedListNode<IWasdMenuOption> Add(string display, Action<CCSPlayerController, IWasdMenuOption> onChoice);
}

View file

@ -0,0 +1,21 @@
using CounterStrikeSharp.API.Core;
namespace WASDSharedAPI;
public interface IWasdMenuManager
{
//open the menu as main menu
public void OpenMainMenu(CCSPlayerController? player, IWasdMenu? menu);
//close all menus
public void CloseMenu(CCSPlayerController? player);
//close current submenu and go to previous menu/submenu
public void CloseSubMenu(CCSPlayerController? player);
//close all submenus and go to main menu
public void CloseAllSubMenus(CCSPlayerController? player);
//open menu as submenu
public void OpenSubMenu(CCSPlayerController? player, IWasdMenu? menu);
//create new menu object
public IWasdMenu CreateMenu(string title = "", string ControlText = "");
public bool HasMenu(CCSPlayerController? player);
public void UpdateActiveMenu(CCSPlayerController? player, Dictionary<string, Action<CCSPlayerController, IWasdMenuOption>> list);
}

View file

@ -0,0 +1,11 @@
using CounterStrikeSharp.API.Core;
namespace WASDSharedAPI;
public interface IWasdMenuOption
{
public IWasdMenu? Parent { get; set; }
public string? OptionDisplay { get; set; }
public Action<CCSPlayerController, IWasdMenuOption>? OnChoose { get; set; }
public int Index { get; set; }
}