Torque3D/Templates/BaseGame/game/data/UI/guis/pauseMenu.tscript
JeffR 01de818503 Ran importer on UI module to ensure guis and images are converted to latest standards
Updated all UI module controls to utilize a more standard structure with stack controls instead of the GameMenu ctrls, as well as more standardization of gamepad input handling
2022-02-22 20:12:39 -06:00

96 lines
2.5 KiB
Plaintext

function PauseMenu::onWake(%this)
{
if($Server::ServerType $= "SinglePlayer")
{
$timescale = 0;
sfxSetChannelVolume( $SimAudioType, $pref::SFX::channelVolume[ 0 ] );
}
PauseMenuList.hidden = false;
PauseMenuList.clear();
if($Tools::loaded && EditorIsActive())
{
%this.addPauseMenuButton("Exit Editor", "fastLoadWorldEdit();");
}
%this.addPauseMenuButton("Options", "openPauseMenuOptions();");
%this.addPauseMenuButton("Exit to Menu", "pauseMenuExitToMenu();");
%this.addPauseMenuButton("Exit to Desktop", "pauseMenuExitToDesktop();");
PauseMenuList.setAsActiveMenuList();
PauseButtonHolder.setActive();
PauseMenuInputHandler.setFirstResponder();
}
function PauseMenu::onSleep(%this)
{
if($Server::ServerType $= "SinglePlayer")
{
$timescale = 1;
sfxSetChannelVolume( $SimAudioType, $pref::SFX::channelVolume[ $SimAudioType ] );
}
}
function PauseMenu::onReturnTo(%this)
{
PauseMenuList.hidden = false;
PauseMenuList.setAsActiveMenuList();
PauseButtonHolder.setActive();
PauseMenuInputHandler.setFirstResponder();
}
function openPauseMenuOptions()
{
Canvas.pushDialog(OptionsMenu);
OptionsMenu.returnGui = PauseMenu;
PauseMenuList.hidden = true;
}
function pauseMenuExitToMenu()
{
PauseMenuList.hidden = true;
MessageBoxOKCancel("Exit?", "Do you wish to exit to the Main Menu?", "escapeFromGame();", "PauseMenu.onReturnTo();");
}
function pauseMenuExitToDesktop()
{
PauseMenuList.hidden = true;
MessageBoxOKCancel("Exit?", "Do you wish to exit to the desktop?", "quit();", "PauseMenu.onReturnTo();");
}
function PauseButtonHolder::onWake(%this)
{
%this-->goButton.set("btn_a", "Return", "OK", "PauseMenuList.activate();", true);
%this-->backButton.set("btn_b", "Escape", "Back", "Canvas.popDialog();");
}
function PauseMenu::addPauseMenuButton(%this, %buttonText, %buttonCallback)
{
%newButton = new GuiButtonCtrl() {
text = %buttonText;
groupNum = "-1";
buttonType = "PushButton";
useMouseEvents = "0";
position = "0 0";
extent = "400 55";
minExtent = "8 2";
horizSizing = "right";
vertSizing = "bottom";
profile = "GuiMenuButtonProfile";
visible = "1";
active = "1";
command = %buttonCallback;
tooltipProfile = "GuiToolTipProfile";
hovertime = "1000";
isContainer = "0";
canSave = "1";
canSaveDynamicFields = "0";
};
PauseMenuList.add(%newButton);
}