UnrealShare
Class UnrealLongMenu

source: e:\games\UnrealTournament\UnrealShare\Classes\UnrealLongMenu.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Menu
         |
         +--UnrealShare.UnrealMenu
            |
            +--UnrealShare.UnrealLongMenu
Direct Known Subclasses:UnrealBotConfigMenu, UnrealChooseGameMenu, UnrealFavoritesMenu, UnrealGameMenu, UnrealGameOptionsMenu, UnrealHelpMenu, UnrealJoinGameMenu, UnrealKeyboardMenu, UnrealListenMenu, UnrealMainMenu, UnrealMultiPlayerMenu, UnrealOptionsMenu, UnrealQuitMenu, UnrealServerMenu, UnrealSlotMenu, UnrealVideoMenu, UnrealWeaponMenu

class UnrealLongMenu
extends UnrealShare.UnrealMenu

//============================================================================= // UnrealLongMenu // // The long "green" UnrealI menus. //=============================================================================

Function Summary
 void DrawBackGround(Canvas Canvas, bool bNoLogo)
     
// All long menus use this green background.
 void DrawHelpPanel(Canvas Canvas, int StartY, int XClip)
     
// All long menus use this "help panel."  A small area at the bottom
// of the menu describing the currently selected option.
 void DrawMenu(Canvas Canvas)
     
// Each menu provides its own implementation of DrawMenu.



Source Code


00001	//=============================================================================
00002	// UnrealLongMenu
00003	//
00004	// The long "green" UnrealI menus.
00005	//=============================================================================
00006	class UnrealLongMenu extends UnrealMenu;
00007	
00008	// All long menus use this green background.
00009	function DrawBackGround(canvas Canvas, bool bNoLogo)
00010	{
00011		local int StartX, i, num;
00012	
00013		Canvas.DrawColor.r = 255;
00014		Canvas.DrawColor.g = 255;
00015		Canvas.DrawColor.b = 255;	
00016		Canvas.bNoSmooth = True;	
00017	
00018		StartX = 0.5 * Canvas.ClipX - 128;
00019		Canvas.Style = 1;
00020		Canvas.SetPos(StartX,0);
00021		Canvas.DrawIcon(texture'Menu2', 1.0);
00022		
00023		num = int(Canvas.ClipY/256) + 1;
00024		StartX = 0.5 * Canvas.ClipX - 128;
00025		for ( i=1; i<=num; i++ )
00026		{
00027			Canvas.SetPos(StartX,256*i);
00028			Canvas.DrawIcon(texture'Menu2', 1.0);
00029		}
00030		
00031		if ( bNoLogo )
00032			Return;
00033		
00034		Canvas.Style = 3;	
00035		StartX = 0.5 * Canvas.ClipX - 128;	
00036		Canvas.SetPos(StartX,Canvas.ClipY-58);	
00037		Canvas.DrawTile( Texture'MenuBarrier', 256, 64, 0, 0, 256, 64 );
00038		StartX = 0.5 * Canvas.ClipX - 128;
00039		Canvas.Style = 2;	
00040		Canvas.SetPos(StartX,Canvas.ClipY-52);
00041		Canvas.DrawIcon(texture'Logo2', 1.0);	
00042		Canvas.Style = 1;
00043	}
00044	
00045	// All long menus use this "help panel."  A small area at the bottom
00046	// of the menu describing the currently selected option.
00047	function DrawHelpPanel(canvas Canvas, int StartY, int XClip)
00048	{
00049		local int OldXClip, OldYClip;
00050		local int StartX;
00051	
00052		if ( Canvas.ClipY < 92 + StartY )
00053			return;
00054	
00055		StartX = 0.5 * Canvas.ClipX - 128;
00056		StartY = Canvas.ClipY - 92;
00057		OldXClip = Canvas.ClipX;
00058		OldYClip = Canvas.ClipY;
00059	
00060		Canvas.bCenter = false;
00061		Canvas.Font = Canvas.MedFont;
00062		Canvas.SetOrigin(StartX + 18, StartY);
00063		Canvas.SetClip(XClip,128);
00064		Canvas.SetPos(0,0);
00065		Canvas.Style = 1;
00066		SetFontBrightness(Canvas, true);	
00067		if ( Selection < 20 )
00068			Canvas.DrawText(HelpMessage[Selection], False);	
00069		SetFontBrightness(Canvas, false);
00070		Canvas.SetOrigin(0, 0);
00071		Canvas.SetClip(OldXClip,OldYClip); 
00072	}
00073	
00074	// Each menu provides its own implementation of DrawMenu.
00075	function DrawMenu(canvas Canvas)
00076	{
00077		local int StartX, StartY, Spacing;
00078		
00079		Spacing = Clamp(0.1 * Canvas.ClipY, 32, 48);
00080		StartX = Max(8, 0.5 * Canvas.ClipX - 160);
00081		StartY = Max(4, 0.5 * (Canvas.ClipY - 5 * Spacing - 128));
00082		Canvas.Font = Canvas.LargeFont;
00083	
00084		// draw text
00085		Canvas.SetPos(StartX, StartY );
00086		Canvas.DrawText("NOT YET IMPLEMENTED", False);
00087	
00088		// Draw help panel
00089		DrawHelpPanel(Canvas, StartY + 5 * Spacing, 228);
00090	}
00091	
00092	defaultproperties
00093	{
00094	}

End Source Code