1
Fork 0
mirror of https://github.com/thegeneralist01/Scene-Manager-DevRepo synced 2026-01-11 15:40:29 +01:00
Scene-Manager-DevRepo/SceneManager/GetUserInput.cs
2020-09-13 04:50:51 -06:00

70 lines
2.3 KiB
C#

using Rage;
namespace SceneManager
{
class GetUserInput
{
public static void LoopForUserInput()
{
while (true)
{
// Keyboard
GetKeyboardInput();
// Controller
GetControllerInput();
// Display this message for test versions only
//if (MainMenu.mainMenu.Visible)
//{
// Game.DisplaySubtitle($"You are using a test build of Scene Manager. Please report any bugs/crashes in the Discord server.");
//}
MenuManager.menuPool.ProcessMenus();
GameFiber.Yield();
}
}
private static void GetControllerInput()
{
if (Settings.ModifierButton == ControllerButtons.None)
{
if (Game.IsControllerButtonDown(Settings.ToggleButton) && AreMenusClosed())
{
MainMenu.mainMenu.Visible = !MainMenu.mainMenu.Visible;
}
}
else if (Game.IsControllerButtonDownRightNow(Settings.ModifierButton) && Game.IsControllerButtonDown(Settings.ToggleButton) && AreMenusClosed())
{
MainMenu.mainMenu.Visible = !MainMenu.mainMenu.Visible;
}
}
private static void GetKeyboardInput()
{
if (Settings.ModifierKey == System.Windows.Forms.Keys.None)
{
if (Game.IsKeyDown(Settings.ToggleKey) && AreMenusClosed())
{
MainMenu.mainMenu.Visible = !MainMenu.mainMenu.Visible;
}
}
else if (Game.IsKeyDownRightNow(Settings.ModifierKey) && Game.IsKeyDown(Settings.ToggleKey) && AreMenusClosed())
{
MainMenu.mainMenu.Visible = !MainMenu.mainMenu.Visible;
}
}
private static bool AreMenusClosed()
{
if(!BarrierMenu.barrierMenu.Visible && !PathMainMenu.pathMainMenu.Visible && !PathCreationMenu.pathCreationMenu.Visible && !EditPathMenu.editPathMenu.Visible && !EditWaypointMenu.editWaypointMenu.Visible && !SettingsMenu.settingsMenu.Visible)
{
return true;
}
else
{
return false;
}
}
}
}