// ==================================================================== // Class: Engine.BaseGUIController // // This is just a stub class that should be subclassed to support menus. // // Written by Joe Wilcox // (c) 2002, Epic Games, Inc. All Rights Reserved // ==================================================================== class BaseGUIController extends Interaction Native transient; cpptext { virtual void ResolutionChanged(int ResX, int ResY) {} virtual void ResetInput() {} } #exec TEXTURE IMPORT NAME=MenuWhite FILE=Textures\White.tga MIPS=0 #exec TEXTURE IMPORT NAME=MenuBlack FILE=Textures\Black.tga MIPS=0 #exec TEXTURE IMPORT NAME=MenuGray FILE=Textures\Gray.tga MIPS=0 var Material DefaultPens[3]; // Contain to hold some default pens for drawing purposes // Default work menus var config string NetworkMsgMenu; // Menu used for network messages var config string QuestionMenuClass; // Menu that appears for questions // Delegates Delegate OnAdminReply(string Reply); // Called By PlayerController //ifdef _KF_ function string SteamGetUserName(); function string SteamGetUserID(); //endif // ================================================ // OpenMenu - Opens a new menu and places it on top of the stack event bool OpenMenu(string NewMenuName, optional string Param1, optional string Param2) { return false; } // ================================================ // Create a bunch of menus at start up event AutoLoadMenus(); // Subclass me // ================================================ // Replaces a menu in the stack. returns true if success event bool ReplaceMenu(string NewMenuName, optional string Param1, optional string Param2, optional bool bCancelled) { return false; } event bool CloseMenu(optional bool bCanceled) // Close the top menu. returns true if success. { return true; } event CloseAll(bool bCancel, optional bool bForced); function SetControllerStatus(bool On) { bActive = On; bVisible = On; bRequiresTick=On; // Add code to pause/unpause/hide/etc the game here. } event InitializeController(); // Should be subclassed. event bool NeedsMenuResolution(); // Big Hack that should be subclassed event SetRequiredGameResolution(string GameRes); defaultproperties { bNativeEvents=True bActive=False bRequiresTick=False bVisible=False DefaultPens(0)=texture'MenuWhite' DefaultPens(1)=texture'MenuBlack' DefaultPens(2)=texture'MenuGray' }