Core.Object | +--Engine.Actor | +--Engine.Menu | +--UnrealShare.UnrealMenu | +--UnrealShare.UnrealLongMenu | +--UnrealShare.UnrealMainMenu
bool
bBegun
bShareware
void
BeginPlay()
DrawMenu(Canvas Canvas)
ProcessSelection()
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 }