# Menu
# Description
The Menu class is used to create and manage in-game menu interfaces, providing user interaction functionality.
# How to Use
// Create main menu
Menu* mainMenu = Menu::Create("My Script");
// Add submenu
Menu* comboMenu = mainMenu->AddMenu("Combo Settings");
// Add checkbox
MenuOption* useQ = comboMenu->AddCheckBox("Use Q", true);
// Add slider
MenuOption* qRange = comboMenu->AddSlider("Q Skill Range", 900, 500, 1200);
// Add hotkey
MenuOption* comboKey = comboMenu->AddHotKey("Combo Key", 0x0020); // Space key
// Add color picker
MenuOption* drawColor = comboMenu->AddColorPick("Display Color", true, MAKE_COLOR(255, 0, 0, 255));
// Add separator
comboMenu->AddSeparator("Advanced Settings");
// Add string list
std::vector<const char*> modes = { "Normal", "Aggressive", "Conservative" };
MenuOption* comboMode = comboMenu->AddStringList("Combo Mode", 0, modes);
// Check menu option values
if (useQ->GetBool() && comboKey->GetBool())
{
// Execute code that uses Q ability
}
# Menu.Language
int Menu::Language()
Get the current menu language setting.
Return Value | Description |
---|---|
0 | English |
1 | Chinese |
int language = Menu::Language();
if (language == 1)
{
// Chinese interface related logic
}
# Menu.IsOpen
bool Menu::IsOpen()
Check if the menu is open.
if (Menu::IsOpen())
{
// Logic when menu is open
}
# Menu.AddTranslate
void Menu::AddTranslate(const char* englishText, const char8_t* ChineseText)
Add English and Chinese translations for text.
Parameter Name | Parameter Type | Description |
---|---|---|
englishText | const char* | English text |
ChineseText | const char8_t* | Chinese text |
Menu::AddTranslate("Use Q", u8"使用Q");
# Menu.Create
static Menu* Menu::Create(const char* Title)
Create a new menu.
Parameter Name | Parameter Type | Description |
---|---|---|
Title | const char* | Menu title |
Menu* mainMenu = Menu::Create("My Script");
# Menu.AddMenu
Menu* Menu::AddMenu(const char* Title)
Add a submenu.
Parameter Name | Parameter Type | Description |
---|---|---|
Title | const char* | Submenu title |
Menu* comboMenu = mainMenu->AddMenu("Combo Settings");
# Menu.AddCheckBox
MenuOption* Menu::AddCheckBox(const char* Name, bool Boolean)
Add a checkbox option.
Parameter Name | Parameter Type | Description |
---|---|---|
Name | const char* | Option name |
Boolean | bool | Default value |
MenuOption* useQ = comboMenu->AddCheckBox("Use Q", true);
# Menu.AddSlider
MenuOption* Menu::AddSlider(const char* Name, int Value, int MinValue, int MaxValue)
Add a slider option.
Parameter Name | Parameter Type | Description |
---|---|---|
Name | const char* | Option name |
Value | int | Default value |
MinValue | int | Minimum value |
MaxValue | int | Maximum value |
MenuOption* qRange = comboMenu->AddSlider("Q Skill Range", 900, 500, 1200);
# Menu.AddHotKey
MenuOption* Menu::AddHotKey(const char* Name, int DefaultKey)
Add a hotkey option.
Parameter Name | Parameter Type | Description |
---|---|---|
Name | const char* | Option name |
DefaultKey | int | Default key |
MenuOption* comboKey = comboMenu->AddHotKey("Combo Key", 0x0020); // Space key
# Menu.AddToggleKey
MenuOption* Menu::AddToggleKey(const char* Name, int DefaultKey, bool Boolean)
Add a toggle key option.
Parameter Name | Parameter Type | Description |
---|---|---|
Name | const char* | Option name |
DefaultKey | int | Default key |
Boolean | bool | Default toggle state |
MenuOption* farmToggle = comboMenu->AddToggleKey("Farm Mode", 0x0057, true); // W key
# Menu.AddStringList
MenuOption* Menu::AddStringList(const char* Name, int DefaultIdx, std::vector<const char*> const& Elements)
Add a string list option.
Parameter Name | Parameter Type | Description |
---|---|---|
Name | const char* | Option name |
DefaultIdx | int | Default selected index |
Elements | std::vector<const char*> const& | List elements |
std::vector<const char*> modes = { "Normal", "Aggressive", "Conservative" };
MenuOption* comboMode = comboMenu->AddStringList("Combo Mode", 0, modes);
# Menu.AddColorPick
MenuOption* Menu::AddColorPick(const char* Name, bool Boolean, int DefaultColor)
Add a color picker option.
Parameter Name | Parameter Type | Description |
---|---|---|
Name | const char* | Option name |
Boolean | bool | Default toggle state |
DefaultColor | int | Default color |
MenuOption* drawColor = comboMenu->AddColorPick("Display Color", true, MAKE_COLOR(255, 0, 0, 255));
# Menu.AddSeparator
void Menu::AddSeparator(const char* Txt = nullptr, int color = 0xFFFFFFFF)
Add a separator.
Parameter Name | Parameter Type | Description |
---|---|---|
Txt | const char* | Separator text (optional) |
color | int | Text color (optional) |
comboMenu->AddSeparator("Advanced Settings");