// 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 // // // ************************************************************************************************ class MenuAbout extends GUIPage; #exec OBJ LOAD FILE=GUIContent.utx var bool Dutch,bIgnoreEsc; var localized string EN_Title, NL_Title, EN_BackgroundTabLabel, NL_BackgroundTabLabel, EN_BackgroundTabHint, NL_BackgroundTabHint, EN_CreditsTabLabel, NL_CreditsTabLabel, EN_CreditsTabHint, NL_CreditsTabHint, EN_DisclaimerTabLabel, NL_DisclaimerTabLabel, EN_DisclaimerTabHint, NL_DisclaimerTabHint, EN_AcknowledgementTabLabel, NL_AcknowledgementTabLabel, EN_AcknowledgementTabHint, NL_AcknowledgementTabHint, EN_Resume, NL_Resume, EN_ResumeHint, NL_ResumeHint; //EN_VideoTabLabel, NL_VideoTabLabel, //var GeoInterface.Tab_PlayerSettings pPlayer; var GeoPlayerController GeoPC; var GUITabControl TabC; var float ButtonWidth, ButtonHeight, ButtonHGap, ButtonVGapSmall, ButtonVGapLarge, BarHeight, BarVPos, SButtonSize, SButtonVGap, SButtonHGap, TitleLeftGap, TabWidth, TabHeight, TabLeft, TabTop; var GUITitleBar TitleBar; function InitComponent(GUIController MyController, GUIComponent MyOwner) { Super.InitComponent(MyController, MyOwner); OnKeyEvent = InternalOnKeyEvent; OnClose = InternalOnClose; OnOpen = InternalOnOpen; MyOpenPage(); // Menu Background Controls[0].WinWidth = 1; Controls[0].WinHeight = 1; Controls[0].WinLeft = (1 - Controls[0].WinWidth) / 2; Controls[0].WinTop = (1 - Controls[0].WinHeight) / 2; Controls[0].bVisible = false; // Menu footer Controls[1].WinWidth=0.88; Controls[1].WinHeight=0.055; Controls[1].WinLeft=0.12; Controls[1].WinTop=0.93; //quit/back button Controls[2].WinWidth=1 - Controls[1].WinWidth; Controls[2].WinHeight=Controls[1].WinHeight; Controls[2].WinLeft=0; Controls[2].WinTop=Controls[1].WinTop; // Menu Title Controls[3].WinTop = Controls[0].WinTop +0.036406; Controls[3].WinLeft = (Controls[0].WinLeft); Controls[3].WinWidth = 1; Controls[3].WinHeight = SButtonSize; TitleBar = GUITitleBar(Controls[3]); //Tab control TabC = GUITabControl(Controls[4]); TabC.WinTop = Controls[3].WinTop; TabC.WinLeft = 0 + sButtonHGap;//Controls[0].WinLeft + sButtonHGap ; TabC.WinWidth = Controls[0].WinWidth;// - (2*SButtonHGap); TabC.WinHeight = Controls[0].WinHeight - TabC.WinTop - Controls[1].WinHeight - (1 - Controls[1].WinTop);//- (2*SButtonVGap) - Controls[1].WinHeight; TabC.TabHeight=ButtonHeight; TabWidth = TabC.WinWidth; TabHeight = TabC.WinHeight; TabLeft = TabC.WinLeft; TabTop = TabC.WinTop; TitleBar.DockedTabs = TabC; log("MenuAbout1"); GeoPC = GeoPlayerController(PlayerOwner()); Dutch = SetLanguage(); log("MenuAbout2"); if(Dutch) { TabC.AddTab(NL_BackgroundTabLabel,"GeoInterface.MenuAboutTabBackground",,NL_BackgroundTabHint); TabC.AddTab(NL_CreditsTabLabel,"GeoInterface.MenuAboutTabCredits",,NL_CreditsTabHint); TabC.AddTab(NL_AcknowledgementTabLabel,"GeoInterface.MenuAboutTabAcknowledgement",,NL_AcknowledgementTabHint); TabC.AddTab(NL_DisclaimerTabLabel,"GeoInterface.MenuAboutTabDisclaimer",,NL_DisclaimerTabHint,true); TabC.ActivateTabByName(NL_BackgroundTabLabel,true); } else { TabC.AddTab(EN_BackgroundTabLabel,"GeoInterface.MenuAboutTabBackground",,EN_BackgroundTabHint); TabC.AddTab(EN_CreditsTabLabel,"GeoInterface.MenuAboutTabCredits",,EN_CreditsTabHint); TabC.AddTab(EN_AcknowledgementTabLabel,"GeoInterface.MenuAboutTabAcknowledgement",,EN_AcknowledgementTabHint); TabC.AddTab(EN_DisclaimerTabLabel,"GeoInterface.MenuAboutTabDisclaimer",,EN_DisclaimerTabHint,true); TabC.ActivateTabByName(EN_BackgroundTabLabel,true); } Controls[1].SetFocus(none); } function MyOpenPage() { UpdateLanguage(); } function UpdateLanguage() { if(SetLanguage()) { TitleBar.Caption = NL_Title; GUIButton(Controls[2]).Caption=NL_Resume; GUIButton(Controls[2]).Hint=NL_ResumeHint; } else { TitleBar.Caption =EN_Title; GUIButton(Controls[2]).Caption=EN_Resume; GUIButton(Controls[2]).Hint=EN_ResumeHint; } } function TabChange(GUIComponent 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 InternalOnOpen () { bVisible = true; } function bool InternalOnClick(GUIComponent Sender) { local int i; for(i = 0; i < Controls.length; i++) { if(Sender == Controls[i]) { switch(i) { case 2: // back / quit button Controller.ReplaceMenu("GeoInterface.MainMenuOptions"); //Controller.CloseMenu(); break; } } } return true; } function bool InternalOnKeyEvent(out byte Key,out byte State,float delta) { // Swallow first escape key event (key up from key down that opened menu) if(bIgnoreEsc && Key == 0x1B) { bIgnoreEsc = false; return true; } else if (Key ==0x1B ) { Controller.ReplaceMenu("GeoInterface.MainMenuOptions"); return true; } } function TitleOnChange(GUIComponent Sender) { //TitleBar.TextAlign = TXTA_Center; } event ChangeHint(string NewHint) { GUITitleBar(Controls[1]).Caption = NewHint; } //============================================================================= // Date Id Modification // 2006-09-04 The Created this header //============================================================================= function InternalOnClose(optional Bool bCanceled) { Super.OnClose(bCanceled); } //************************************************************************ // Set Language() // Returns true if dutch or false if english // See directly in GeoPlayerController //************************************************************************ function bool SetLanguage() { if(PlayerOwner().IsA('GeoPlayerController')) { return GeoPlayerController(PlayerOwner()).Dutch; } else { warn("THIS PLAYER CONTROLLER DOESN'T SUPPORT LANGUAGE"); return true; } } defaultproperties { NL_Title="Colofon" EN_Title="About" Begin Object Class=GUIButton name=Background bAcceptsInput=false bNeverFocus=true StyleName="GeoCallBar" End Object Controls(0)=GUIButton'Background' Begin Object class=GUITitleBar name=SettingFooter bUseTextHeight=false StyleName="Footer" Justification=TXTA_Center End Object Controls(1)=GUITitleBar'SettingFooter' Begin Object Class=GUIButton Name=QuitButton OnClick=InternalOnClick StyleName="SquareMenuButton" End Object Controls(2)=GUIButton'QuitButton' 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(3)=GUITitleBar'SettingHeader' Begin Object Class=GUITabControl Name=SettingTabs OnChange=TabChange bAcceptsInput=true bDockPanels=true End Object Controls(4)=GUITabControl'SettingTabs' //standard variables ButtonWidth=0.2 ButtonHeight=0.04 ButtonHGap=0.025 ButtonVGapLarge=0.03 ButtonVGapSmall=0.02 BarHeight=0.21 BarVPos=0.5 SButtonSize=0.06 SButtonHGap=0.02 SButtonVGap=0.02 TitleLeftGap=0.05 bIgnoreEsc = true; // *********************************** // Language Settings // *********************************** EN_BackgroundTabLabel=" About... " NL_BackgroundTabLabel=" Over... " EN_BackgroundTabHint="Background information on Levee Patroller" NL_BackgroundTabHint="Achtergrond informatie over Dijk Patrouille" EN_CreditsTabLabel=" Credits " NL_CreditsTabLabel=" Credits " EN_CreditsTabHint=" The heroes of Levee Patroller" NL_CreditsTabHint=" De helden van Dijk Patrouille" EN_DisclaimerTabLabel=" Legal " NL_DisclaimerTabLabel=" Juridisch " EN_DisclaimerTabHint="Legal aspects of using Levee Patroller" NL_DisclaimerTabHint="Juridische aspecten voor het gebruik van Dijk Patrouille" EN_AcknowledgementTabLabel=" Acknowledgements " NL_AcknowledgementTabLabel=" Dankwoord " EN_AcknowledgementTabHint=" Special thanks from the Levee Patroller team " NL_AcknowledgementTabHint=" Bedankt namens het Dijk Patrouille team " EN_Resume="Back" NL_Resume="Terug" EN_ResumeHint="Go back to Main Menu" NL_ResumeHint="Terug naar het hoofdmenu" }