// // CPT operator / SondeerGame // This source file is (c) by Deltares. // - October 2014 // //============================================================================= // In game right click menu, shows various options like the phone, map, assignment, etc. // ------------------------------------------------------------ // // © 2008, Deltares // // Date Id Modification // 12-09-2008 jln Created this menu // 17-09-2008 wsl rearranged GUI elements // 15-10-2008 wsl made one button for each conversation partner //============================================================================= class MenuInGame extends GeoGUIPage; var automated GeoFrame DialogBackground; var automated GeoButton RespawnButton; var automated GeoButton AssignmentButton; var automated GeoButton CallLandownerButton; var automated GeoButton CallContractorButton; var automated GeoButton CallOfficeButton; var automated GeoButton CloseButton; var automated GeoButton HelpButton; function InitComponent(GUIController MyController, GUIComponent MyOwner) { local int iscenario; Super.InitComponent(MyController, MyOwner); /// jln - 17-11-2008 /// Determine which buttons are active based on the current level: iscenario = GeoPC.GetScenarioNumber(); if (iscenario == 2) { CallLandownerButton.MenuState = MSAT_Disabled; CallContractorButton.MenuState = MSAT_Disabled; } if (iscenario == 3) { CallLandownerButton.MenuState = MSAT_Disabled; } } function GotoInterior() { local SondeerWagenInterior node; local vector vpos; foreach GeoPC.AllActors(class'SondeerWagenInterior', node) { /// Found? /// Exit car. vpos = node.Location; vpos.z += 256; Log("Found: " @ node); GeoPC.SetLocation(vpos); if (GeoPC.Pawn != None) { GeoPC.Pawn.SetLocation(vpos); } break; } } function GotoOffice() { local SondeerOffice node; local vector vpos; foreach GeoPC.AllActors(class'SondeerOffice', node) { /// Found? /// Exit car. vpos = node.Location; vpos.z += 256; Log("Found: " @ node); geoPC.SetLocation(vpos); if (GeoPC.Pawn != None) { GeoPC.Pawn.SetLocation(vpos); } break; } } function bool ButtonClick(GUIComponent Sender) { //local GUIPage p; if (Sender != None) { GeoPC.ClientCloseMenu(false); if (Sender == CallLandownerButton) { /// Open telephone menu GeoPC.ClientOpenMenu("GeoInterface.MenuPhoneCall", false, "landowner"); /* Log("GeoPC Conversation index: " @ GeoPC.ConversationIndex); p = GUIController(GeoPC.Player.GUIController).FindMenu("MenuPhoneCall"); if (p != None) { /// Update conversation index if necessary. MenuPhoneCall(p).SetPhoneIndex(GeoPC.ConversationIndex); } */ } else if (Sender == CallContractorButton) { /// Open telephone menu GeoPC.ClientOpenMenu("GeoInterface.MenuPhoneCall", false, "contractor"); } else if (Sender == CallOfficeButton) { /// Open telephone menu GeoPC.ClientOpenMenu("GeoInterface.MenuPhoneCall", false, "office"); } else if (Sender == RespawnButton) { /// Respawn level: GeoPC.dorespawn(); /// Close menu Controller.CloseMenu(false); } else if (Sender == AssignmentButton) { /// Open assignment menu: GeoPC.ClientOpenMenu("GeoInterface.MenuOpdrachtBon", false); } else if (Sender == CloseButton) { Controller.CloseMenu(false); } if (Sender == HelpButton) { /// Show help GeoPC.ClientOpenMenu("GeoInterface.MenuHandbook", false); } return true; } return false; } defaultproperties { AllowSelect = true bAllowedAsLast=true bDisconnectOnOpen=false bPersistent=false Begin Object Class=GeoFrame name=TDialogBackground WinWidth=0.37 WinHeight=0.6 WinLeft=0.03 WinTop=0.2 End Object Begin Object Class=GeoButton name=TCallLandownerButton OnClick=ButtonClick IniOption="TCallLandownerButton" WinLeft=0.1 WinTop=0.28 WinWidth=0.22 bNeverFocus=true End Object Begin Object Class=GeoButton name=TCallContractorButton OnClick=ButtonClick IniOption="TCallContractorButton" WinLeft=0.1 WinTop=0.35 WinWidth=0.22 bNeverFocus=true End Object Begin Object Class=GeoButton name=TCallOfficeButton OnClick=ButtonClick IniOption="TCallOfficeButton" WinLeft=0.1 WinTop=0.42 WinWidth=0.22 bNeverFocus=true End Object Begin Object Class=GeoButton name=TRespawnButton OnClick=ButtonClick IniOption="TRespawnButton" WinLeft=0.1 WinTop=0.49 WinWidth=0.22 bNeverFocus=true End Object Begin Object Class=GeoButton name=TAssignmentButton OnClick=ButtonClick IniOption="TAssignmentButton" WinLeft=0.1 WinTop=0.56 WinWidth=0.22 bNeverFocus=true End Object Begin Object Class=GeoButton name=THelpButton OnClick=ButtonClick IniOption="THelpButton" WinLeft=0.1 WinTop=0.63 WinWidth=0.22 bNeverFocus=true End Object Begin Object Class=GeoButton name=TCloseButton OnClick=ButtonClick IniOption="TCloseButton" WinLeft=0.1 WinTop=0.70 WinWidth=0.22 bNeverFocus=true End Object DialogBackground = TDialogBackground CallLandownerButton = TCallLandownerButton CallContractorButton = TCallContractorButton CallOfficeButton = TCallOfficeButton RespawnButton = TRespawnButton AssignmentButton = TAssignmentButton HelpButton = THelpButton CloseButton = TCloseButton }