mirror of
https://github.com/thegeneralist01/Scene-Manager-DevRepo
synced 2026-01-11 23:50:29 +01:00
79 lines
2.7 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|