Advertisement
GTA5HelpDesk

Untitled

Aug 22nd, 2024
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using LemonUI.Elements;
  5. using LemonUI.Menus;
  6. using GTA;
  7. using System.Windows.Forms;
  8.  
  9. namespace MenuTemplate
  10. {
  11. public partial class ModMenu : Script
  12. {
  13. private static readonly LemonUI.ObjectPool pool = new LemonUI.ObjectPool();
  14. 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"));
  15. private static readonly NativeMenu SubMenu1 = new NativeMenu("Boring asF", "Submenu Header", "");
  16.  
  17. private static readonly List<NativeItem> Menu1_Items = new List<NativeItem>
  18. {
  19. new NativeItem("~r~Item 1", ""),
  20. new NativeItem("Open Submenu", ""),
  21. };
  22.  
  23. private static readonly List<NativeItem> SubMenu1_Items = new List<NativeItem>
  24. {
  25. new NativeItem("Submenu Item 1", ""),
  26. new NativeItem("Submenu Item 2", ""),
  27. };
  28.  
  29. private bool isSubmenuNextToggle = false;
  30.  
  31. public ModMenu()
  32. {
  33. pool.Add(Menu1);
  34. pool.Add(SubMenu1);
  35. Tick += Basics_Tick;
  36. KeyDown += Basics_KeyDown;
  37. AddItemsToMenu(Menu1, Menu1_Items);
  38. AddItemsToMenu(SubMenu1, SubMenu1_Items);
  39. AttachItemFunctions();
  40. }
  41.  
  42. private void Basics_Tick(object sender, EventArgs e)
  43. {
  44. pool.Process();
  45. }
  46.  
  47. private void Basics_KeyDown(object sender, KeyEventArgs e)
  48. {
  49. if (e.KeyCode == Keys.F5)
  50. {
  51. if (Menu1.Visible || SubMenu1.Visible)
  52. {
  53. // Close both menus if either is visible
  54. Menu1.Visible = false;
  55. SubMenu1.Visible = false;
  56. }
  57. else if (isSubmenuNextToggle)
  58. {
  59. // Open the submenu if it is the next toggle
  60. SubMenu1.Visible = true;
  61. isSubmenuNextToggle = false;
  62. }
  63. else
  64. {
  65. // Open the main menu and set the next toggle to show the submenu
  66. Menu1.Visible = true;
  67. isSubmenuNextToggle = true;
  68. }
  69. }
  70. }
  71.  
  72. private void AddItemsToMenu(NativeMenu menu, List<NativeItem> items)
  73. {
  74. foreach (var item in items)
  75. {
  76. menu.Add(item);
  77. item.TitleFont = GTA.UI.Font.ChaletComprimeCologneNotGamerName;
  78. }
  79. }
  80.  
  81. private void AttachItemFunctions()
  82. {
  83. Menu1_Items[0].Activated += (sender, e) => Menu_Item1_Code();
  84. Menu1_Items[1].Activated += (sender, e) => {
  85. Menu1.Visible = false;
  86. SubMenu1.Visible = true;
  87. };
  88. // Uncomment if needed
  89. // SubMenu1_Items[0].Activated += (sender, e) => SubMenu_Item1_Code();
  90. }
  91.  
  92. private void Menu_Item1_Code()
  93. {
  94. GTA.UI.Screen.ShowSubtitle("~r~Item 1 Code\n will be executed\n on this selection", 2500);
  95. }
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement