// September 2015 // Levee Patroller / Dijk Patrouille // This source file is (c) by Deltares. This source file is open source but only available to select users. Do not redistribute without written permission of Stichting Deltares, Delft, The Netherlands. // This header has been automatically generated. // ************************************************************************************************ // This menu is separated so it can be used as ingame Settings Menu as well as in the Main Menu // // ------------------------------------------------------------ // // © 2006, Geodelft // // 2007-05-30 wsl Pressing Esc does the same as back-button // ************************************************************************************************ class OptionsMenu extends GUIPage; #exec OBJ LOAD FILE=GUIContent.utx var bool Dutch; var localized string EN_VideoTabLabel, NL_VideoTabLabel, EN_VideoTabHint, NL_VideoTabHint, EN_DetailsTabLabel, NL_DetailsTabLabel, EN_DetailsTabHint, NL_DetailsTabHint, EN_AudioTabLabel, NL_AudioTabLabel, EN_AudioTabHint, NL_AudioTabHint, EN_PlayerTabLabel, NL_PlayerTabLabel, EN_PlayerTabHint, NL_PlayerTabHint, EN_ControlsTabLabel, NL_ControlsTabLabel, EN_ControlsTabHint, NL_ControlsTabHint, EN_IForceTabLabel, NL_IForceTabLabel, EN_IForceTabHint, NL_IForceTabHint, EN_HudTabLabel, NL_HudTabLabel, EN_HudTabHint, NL_HudTabHint, EN_AboutTabLabel, NL_AboutTabLabel, EN_AboutTabHint, NL_AboutTabHint, EN_MainOptions, NL_MainOptions, EN_Resume, NL_Resume, EN_ResumeHint, NL_ResumeHint, NL_LogTabLabel, NL_LogTabHint; var Tab_PlayerSettings pPlayer; var Tab_LogSettings lSettings; var float SavedPitch; function InitComponent(GUIController MyController, GUIComponent MyOwner) { local GUITabControl TabC; Super.InitComponent(MyController, MyOwner); MyOpenPage(); TabC = GUITabControl(Controls[1]); GUITitleBar(Controls[0]).DockedTabs = TabC; if(Dutch) { pPlayer = Tab_PlayerSettings(TabC.AddTab(NL_PlayerTabLabel,"GeoInterface.Tab_PlayerSettings",,NL_PlayerTabHint)); TabC.AddTab(NL_VideoTabLabel,"GeoInterface.Tab_VideoSettings",,NL_VideoTabHint, true); //TabC.AddTab(NL_DetailsTabLabel,"GeoInterface.Tab_DetailSettings",,NL_DetailsTabHint); //TabC.AddTab(NL_AudioTabLabel,"GeoInterface.Tab_AudioSettings",,NL_AudioTabHint); if(PlayerOwner().Level.Title == "Untitled" && bool(Localize("DebugInfo", "ShowLoggingConfig", "GeoSimulator"))) lSettings = Tab_LogSettings(TabC.AddTab(NL_LogTabLabel, "GeoInterface.Tab_LogSettings",,NL_LogTabHint)); TabC.AddTab(NL_ControlsTabLabel,"GeoInterface.Tab_ControlSettings",,NL_ControlsTabHint); TabC.AddTab(NL_IForceTabLabel,"GeoInterface.Tab_IForceSettings",,NL_IForceTabHint); } else { pPlayer = Tab_PlayerSettings(TabC.AddTab(EN_PlayerTabLabel,"GeoInterface.Tab_PlayerSettings",,EN_PlayerTabHint)); TabC.AddTab(EN_VideoTabLabel,"GeoInterface.Tab_VideoSettings",,EN_VideoTabHint, true); //TabC.AddTab(EN_DetailsTabLabel,"GeoInterface.Tab_DetailSettings",,EN_DetailsTabHint); //TabC.AddTab(EN_AudioTabLabel,"GeoInterface.Tab_AudioSettings",,EN_AudioTabHint); TabC.AddTab(EN_ControlsTabLabel,"GeoInterface.Tab_ControlSettings",,EN_ControlsTabHint); TabC.AddTab(EN_IForceTabLabel,"GeoInterface.Tab_IForceSettings",,EN_IForceTabHint); } Controls[1].SetFocus(none); } //************************************** //LANGUAGE: IF IT IS IN GAME OR IN MENU'S //************************************** function bool SetLanguage() { if(PlayerOwner().IsA('GeoPlayerController')) { return GeoPlayerController(PlayerOwner()).Dutch; } else { warn("THIS PLAYER CONTROLLER DOESN'T SUPPORT LANGUAGE"); return true; } } function MyOpenPage() { Dutch=SetLanguage(); UpdateLanguage(); } function UpdateLanguage() { if(Dutch) { GUIButton(Controls[3]).Caption=NL_Resume; GUIButton(Controls[3]).Hint=NL_ResumeHint; } else { GUIButton(Controls[3]).Caption=EN_Resume; GUIButton(Controls[3]).Hint=EN_ResumeHint; } } function InternalOnClose(optional Bool bCanceled) { local rotator NewRot; // Reset player NewRot = PlayerOwner().Rotation; NewRot.Pitch = SavedPitch; PlayerOwner().SetRotation(NewRot); // Save config. pPlayer.InternalApply(none); lSettings.InternalApply(none); Super.OnClose(bCanceled); } function bool MyKeyEvent(out byte Key,out byte State,float delta) { if(Key == 0x1B && State == 1) // Escape pressed { Controller.CloseMenu(); return true; } else return false; } function TabChange(GUIComponent Sender) { Log("Tab change " @ Sender); if (GUITabButton(Sender)==none) return; if(Dutch) GUITitleBar(Controls[0]).Caption = NL_MainOptions@"|"@GUITabButton(Sender).Caption; else GUITitleBar(Controls[0]).Caption = EN_MainOptions@"|"@GUITabButton(Sender).Caption; } event ChangeHint(string NewHint) { GUITitleBar(Controls[2]).Caption = NewHint; } event NotifyLevelChange() { Controller.CloseMenu(true); } function bool ButtonClick(GUIComponent Sender) { if (Sender==Controls[3] ) { Controller.CloseMenu(); } return true; } defaultproperties { Begin Object class=GUITitleBar name=SettingHeader Caption="Levee Patroller Options" StyleName="Header" WinWidth=1 WinHeight=46.000000 WinLeft=0 WinTop=0.036406 End Object Controls(0)=GUITitleBar'SettingHeader' Begin Object Class=GUITabControl Name=SettingTabs WinWidth=1.0 WinLeft=0 WinTop=0.25 WinHeight=48 TabHeight=0.04 OnChange=TabChange; bAcceptsInput=true bDockPanels=true End Object Controls(1)=GUITabControl'SettingTabs' Begin Object class=GUITitleBar name=SettingFooter WinWidth=0.88 WinHeight=0.055 WinLeft=0.12 WinTop=0.93 bUseTextHeight=false StyleName="Footer" Justification=TXTA_Center End Object Controls(2)=GUITitleBar'SettingFooter' Begin Object Class=GUIButton Name=QuitButton OnClick=ButtonClick StyleName="SquareMenuButton" WinWidth=0.12 WinHeight=0.055 WinLeft=0 WinTop=0.93 End Object Controls(3)=GUIButton'QuitButton' Background=Texture'GeoDelft.BackGround0' WinWidth=1.0 WinHeight=1.0 WinTop=0.0 WinLeft=0.0 OnClose=InternalOnClose OnKeyEvent=MyKeyEvent bAllowedAsLast=true bDisconnectOnOpen=false // *********************************** // Language Settings // *********************************** EN_MainOptions="Levee Patroller Options" NL_MainOptions="Dijk Patrouille Opties" EN_VideoTabLabel="Video" EN_DetailsTabLabel="Details" EN_AudioTabLabel="Audio" EN_PlayerTabLabel="User name" EN_ControlsTabLabel="Controls" EN_IForceTabLabel="Input" EN_HudTabLabel="HUD" EN_VideoTabHint="Adjust the resolution and level of detail" EN_DetailsTabHint="Adjust the visualization of details to improve simulator performance" EN_AudioTabHint="Adjust the sound experience" EN_PlayerTabHint="Set the player's name" EN_ControlsTabHint="Configure the controls" EN_IForceTabHint="Configure input devices" NL_VideoTabLabel="Video" NL_DetailsTabLabel="Details" NL_AudioTabLabel="Geluid" NL_PlayerTabLabel="Naam van de speler" NL_ControlsTabLabel="Toetsenbord" NL_IForceTabLabel="Invoer" NL_HudTabLabel="HUD" NL_LogTabLabel="Log instellingen" NL_VideoTabHint="Verander de resolutie en detail-instellingen" NL_DetailsTabHint="Verander de weergave van details om de prestatie van de simulator te verbeteren" NL_AudioTabHint="Verander de geluidsinstellingen" NL_PlayerTabHint="Bepaal de naam van de speler" NL_ControlsTabHint="Verander de besturing" NL_IForceTabHint="Configureer besturingsapparaten" NL_LogTabHint="Stel de logfunctionaliteit in" EN_Resume="Back" NL_Resume="Terug" EN_ResumeHint="Save current settings and go back" NL_ResumeHint="Sla huidige instellingen op en ga terug" }