1
Fork 0
mirror of https://github.com/thegeneralist01/Scene-Manager-DevRepo synced 2026-01-11 23:50:29 +01:00
Scene-Manager-DevRepo/SceneManager/Menus/MainMenu.cs
2020-10-23 06:22:19 -06:00

79 lines
2.7 KiB
C#

using Rage;
using RAGENativeUI;
using RAGENativeUI.Elements;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
namespace SceneManager
{
class MainMenu
{
public static UIMenu mainMenu { get; private set; }
private static UIMenuItem navigateToPathMenu, navigateToBarrierMenu, navigateToSettingsMenu;
internal static void InstantiateMenu()
{
mainMenu = new UIMenu("Scene Manager", "~o~Main Menu");
MenuManager.menuPool.Add(mainMenu);
}
public static void BuildMainMenu()
{
mainMenu.AddItem(navigateToPathMenu = new UIMenuItem("Path Menu"));
navigateToPathMenu.ForeColor = Color.Gold;
mainMenu.BindMenuToItem(PathMainMenu.pathMainMenu, navigateToPathMenu);
mainMenu.AddItem(navigateToBarrierMenu = new UIMenuItem("Barrier Menu"));
navigateToBarrierMenu.ForeColor = Color.Gold;
mainMenu.BindMenuToItem(BarrierMenu.barrierMenu, navigateToBarrierMenu);
mainMenu.AddItem(navigateToSettingsMenu = new UIMenuItem("Settings"));
navigateToSettingsMenu.ForeColor = Color.Gold;
mainMenu.BindMenuToItem(SettingsMenu.settingsMenu, navigateToSettingsMenu);
mainMenu.RefreshIndex();
mainMenu.OnItemSelect += MainMenu_OnItemSelected;
mainMenu.OnMenuOpen += MainMenu_OnMouseDown;
}
private static void MainMenu_OnItemSelected(UIMenu sender, UIMenuItem selectedItem, int index)
{
if (selectedItem == navigateToBarrierMenu)
{
BarrierMenu.CreateShadowBarrier(BarrierMenu.barrierMenu);
}
}
private static void MainMenu_OnMouseDown(UIMenu menu)
{
GameFiber.StartNew(() =>
{
while (menu.Visible)
{
if (Game.IsKeyDown(Keys.LButton))
{
menu.Visible = false;
OnMenuItemClicked();
}
GameFiber.Yield();
}
});
void OnMenuItemClicked()
{
if (navigateToPathMenu.Selected)
{
PathMainMenu.pathMainMenu.Visible = true;
}
else if (navigateToBarrierMenu.Selected)
{
BarrierMenu.barrierMenu.Visible = true;
BarrierMenu.CreateShadowBarrier(BarrierMenu.barrierMenu);
}
else if (navigateToSettingsMenu.Selected)
{
SettingsMenu.settingsMenu.Visible = true;
}
}
}
}
}