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); }