Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Drawing;
- using LemonUI.Elements;
- using LemonUI.Menus;
- using GTA;
- using System.Windows.Forms;
- namespace MenuTemplate
- {
- public partial class ModMenu : Script
- {
- private static readonly LemonUI.ObjectPool pool = new LemonUI.ObjectPool();
- private static readonly NativeMenu Menu1 = new NativeMenu("", "Keep or remove this header", "", new ScaledTexture(PointF.Empty, new SizeF(512, 128), "arcadeui_wizards_ruin", "arcadeui_wizards_ruin"));
- private static readonly NativeMenu SubMenu1 = new NativeMenu("Boring asF", "Submenu Header", "");
- private static readonly List<NativeItem> Menu1_Items = new List<NativeItem>
- {
- new NativeItem("~r~Item 1", ""),
- new NativeItem("Open Submenu", ""),
- };
- private static readonly List<NativeItem> SubMenu1_Items = new List<NativeItem>
- {
- new NativeItem("Submenu Item 1", ""),
- new NativeItem("Submenu Item 2", ""),
- };
- private bool isSubmenuNextToggle = false;
- public ModMenu()
- {
- pool.Add(Menu1);
- pool.Add(SubMenu1);
- Tick += Basics_Tick;
- KeyDown += Basics_KeyDown;
- AddItemsToMenu(Menu1, Menu1_Items);
- AddItemsToMenu(SubMenu1, SubMenu1_Items);
- AttachItemFunctions();
- }
- private void Basics_Tick(object sender, EventArgs e)
- {
- pool.Process();
- }
- private void Basics_KeyDown(object sender, KeyEventArgs e)
- {
- if (e.KeyCode == Keys.F5)
- {
- if (Menu1.Visible || SubMenu1.Visible)
- {
- // Close both menus if either is visible
- Menu1.Visible = false;
- SubMenu1.Visible = false;
- }
- else if (isSubmenuNextToggle)
- {
- // Open the submenu if it is the next toggle
- SubMenu1.Visible = true;
- isSubmenuNextToggle = false;
- }
- else
- {
- // Open the main menu and set the next toggle to show the submenu
- Menu1.Visible = true;
- isSubmenuNextToggle = true;
- }
- }
- }
- private void AddItemsToMenu(NativeMenu menu, List<NativeItem> items)
- {
- foreach (var item in items)
- {
- menu.Add(item);
- item.TitleFont = GTA.UI.Font.ChaletComprimeCologneNotGamerName;
- }
- }
- private void AttachItemFunctions()
- {
- Menu1_Items[0].Activated += (sender, e) => Menu_Item1_Code();
- Menu1_Items[1].Activated += (sender, e) => {
- Menu1.Visible = false;
- SubMenu1.Visible = true;
- };
- // Uncomment if needed
- // SubMenu1_Items[0].Activated += (sender, e) => SubMenu_Item1_Code();
- }
- private void Menu_Item1_Code()
- {
- GTA.UI.Screen.ShowSubtitle("~r~Item 1 Code\n will be executed\n on this selection", 2500);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement