UnrealShare
Class UnrealMainMenu

source: e:\games\UnrealTournament\UnrealShare\Classes\UnrealMainMenu.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Menu
         |
         +--UnrealShare.UnrealMenu
            |
            +--UnrealShare.UnrealLongMenu
               |
               +--UnrealShare.UnrealMainMenu
Direct Known Subclasses:None

class UnrealMainMenu
extends UnrealShare.UnrealLongMenu

//============================================================================= // UnrealMainMenu //=============================================================================
Variables
 bool bBegun
 bool bShareware


Function Summary
 void BeginPlay()
 void DrawMenu(Canvas Canvas)
 bool ProcessSelection()



Source Code


00001	//=============================================================================
00002	// UnrealMainMenu
00003	//=============================================================================
00004	class UnrealMainMenu extends UnrealLongMenu;
00005	
00006	var bool bBegun;
00007	var bool bShareware;
00008	
00009	function BeginPlay()
00010	{
00011		local string OrderMenuName;
00012		local int i;
00013	
00014		Super.BeginPlay();
00015	
00016		OrderMenuName = GetNextInt("Menu", 0); 
00017		while ( OrderMenuName != "" )
00018		{
00019			if ( OrderMenuName ~= "UnrealiOrder.UnrealOrderMenu" )
00020			{
00021				bShareware = true;
00022				MenuList[6]=MenuList[5]; HelpMessage[6]=HelpMessage[5];
00023				MenuList[5]=MenuList[7]; HelpMessage[5]=HelpMessage[7];
00024				MenuLength=6;
00025				return;
00026			}
00027			else
00028			{
00029				i++;
00030				OrderMenuName = GetNextInt("Menu", i);
00031			}
00032		}
00033	}
00034	
00035	function bool ProcessSelection()
00036	{
00037		local Menu ChildMenu;
00038	
00039		ChildMenu = None;
00040		if ( ! bBegun )
00041		{
00042			PlayEnterSound();
00043			bBegun = true;
00044		}
00045	
00046		if ( Selection == 1 )
00047			ChildMenu = spawn(class'UnrealGameMenu', owner);
00048		else if ( Selection == 2 )
00049			ChildMenu = spawn(class'UnrealMultiPlayerMenu', owner);
00050		else if ( Selection == 3 )
00051			ChildMenu = spawn(class'UnrealOptionsMenu', owner);
00052		else if ( Selection == 4 )
00053			ChildMenu = spawn(class'UnrealVideoMenu', owner);
00054		else if( (Selection==5) && bShareware )
00055			ChildMenu = spawn(class<menu>(DynamicLoadObject("UnrealiOrder.UnrealOrderMenu",class'Class')), owner);		
00056		else	
00057			ChildMenu = spawn(class'UnrealQuitMenu', owner);
00058	
00059		if ( ChildMenu != None )
00060		{
00061			HUD(Owner).MainMenu = ChildMenu;
00062			ChildMenu.ParentMenu = self;
00063			ChildMenu.PlayerOwner = PlayerOwner;
00064		}
00065		return true;
00066	}
00067	
00068	function DrawMenu(canvas Canvas)
00069	{
00070		local int StartX, StartY, Spacing;
00071		
00072		DrawBackGround(Canvas, false);
00073	
00074		Canvas.Style = 3;
00075	
00076		Spacing = Clamp(0.1 * Canvas.ClipY, 16, 48);
00077		StartX = Max(40, 0.5 * Canvas.ClipX - 96);
00078		StartY = Max(4, 0.5 * (Canvas.ClipY - 5 * Spacing - 128));
00079	
00080		// draw text
00081		DrawList(Canvas, true, Spacing, StartX, StartY); 
00082	
00083		// Draw help panel
00084		DrawHelpPanel(Canvas, StartY + MenuLength * Spacing + 4, 228);
00085	}
00086	
00087	defaultproperties
00088	{
00089	     MenuLength=5
00090	     HelpMessage(1)="Hit enter to modify game options, including loading and saving games, changing difficulty level, and starting a BotMatch."
00091	     HelpMessage(2)="Hit enter to modify Multiplayer setup options, including starting or joining a network game, and changing your appearance, name, or team."
00092	     HelpMessage(3)="Hit enter to customize controls."
00093	     HelpMessage(4)="Change sound and display options"
00094	     HelpMessage(5)="Hit enter to quit game."
00095	     HelpMessage(7)="Call TOLL FREE 1-877-4UNREAL to Order UNREAL!"
00096	     MenuList(1)="GAME"
00097	     MenuList(2)="MULTIPLAYER"
00098	     MenuList(3)="OPTIONS"
00099	     MenuList(4)="AUDIO/VIDEO"
00100	     MenuList(5)="QUIT"
00101	     MenuList(7)="ORDER INFO"
00102	}

End Source Code