mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
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
96 lines
2.5 KiB
Plaintext
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);
|
|
}
|