Core.Object | +--Engine.Actor | +--Engine.Menu | +--UnrealShare.UnrealMenu | +--UnrealShare.UnrealLongMenu | +--UnrealShare.UnrealListenMenu
string
LastServer
float
ListenTimer
InternetInfo
receiver
void
Destroyed()
DrawMenu(Canvas Canvas)
PostBeginPlay()
bool
ProcessSelection()
00001 //============================================================================= 00002 // UnrealListenMenu 00003 //============================================================================= 00004 class UnrealListenMenu extends UnrealLongMenu; 00005 00006 var string LastServer; 00007 var InternetInfo receiver; 00008 var float ListenTimer; 00009 00010 function PostBeginPlay() 00011 { 00012 local class<InternetInfo> C; 00013 00014 Super.PostBeginPlay(); 00015 C = class<InternetInfo>(DynamicLoadObject("IpDrv.ClientBeaconReceiver", class'Class')); 00016 receiver = spawn(C); 00017 } 00018 00019 function Destroyed() 00020 { 00021 Super.Destroyed(); 00022 if ( receiver != None ) 00023 receiver.Destroy(); 00024 } 00025 00026 function bool ProcessSelection() 00027 { 00028 local Menu ChildMenu; 00029 00030 if ( MenuLength == 0 ) 00031 return false; 00032 00033 if ( MenuList[Selection] == "" ) 00034 return false; 00035 00036 ChildMenu = spawn(class'UnrealMeshMenu', owner); 00037 UnrealMeshMenu(ChildMenu).StartMap = Receiver.GetBeaconAddress(Selection - 1)$"?LAN"; 00038 00039 if ( ChildMenu != None ) 00040 { 00041 HUD(Owner).MainMenu = ChildMenu; 00042 ChildMenu.ParentMenu = self; 00043 ChildMenu.PlayerOwner = PlayerOwner; 00044 } 00045 return true; 00046 } 00047 00048 function DrawMenu(canvas Canvas) 00049 { 00050 local int StartX, StartY, Spacing, i; 00051 00052 DrawBackGround(Canvas, false); 00053 DrawTitle(Canvas); 00054 00055 MenuLength = 0; 00056 for( i=0; i<16; i++ ) 00057 { 00058 if( Receiver.GetBeaconAddress(i) != "" ) 00059 { 00060 MenuLength++; 00061 MenuList[i+1] = Receiver.GetBeaconText(i); 00062 } 00063 } 00064 00065 if ( MenuLength == 0 ) 00066 return; 00067 else if ( Selection == 0 ) 00068 Selection = 1; 00069 00070 Spacing = Clamp(0.08 * Canvas.ClipY, 12, 32); 00071 StartX = Max(20, 0.5 * Canvas.ClipX - 124); 00072 StartY = Max(40, 0.5 * (Canvas.ClipY - 3 * Spacing - 128)); 00073 00074 DrawList(Canvas, false, Spacing, StartX, StartY); 00075 00076 DrawHelpPanel(Canvas, StartY + MenuLength * Spacing + 8, 228); 00077 } 00078 00079 defaultproperties 00080 { 00081 HelpMessage(1)="Hit Enter to select this server." 00082 HelpMessage(2)="Hit Enter to select this server." 00083 HelpMessage(3)="Hit Enter to select this server." 00084 HelpMessage(4)="Hit Enter to select this server." 00085 HelpMessage(5)="Hit Enter to select this server." 00086 HelpMessage(6)="Hit Enter to select this server." 00087 HelpMessage(7)="Hit Enter to select this server." 00088 HelpMessage(8)="Hit Enter to select this server." 00089 HelpMessage(9)="Hit Enter to select this server." 00090 HelpMessage(10)="Hit Enter to select this server." 00091 HelpMessage(11)="Hit Enter to select this server." 00092 HelpMessage(12)="Hit Enter to select this server." 00093 HelpMessage(13)="Hit Enter to select this server." 00094 HelpMessage(14)="Hit Enter to select this server." 00095 HelpMessage(15)="Hit Enter to select this server." 00096 HelpMessage(16)="Hit Enter to select this server." 00097 HelpMessage(17)="Hit Enter to select this server." 00098 HelpMessage(18)="Hit Enter to select this server." 00099 HelpMessage(19)="Hit Enter to select this server." 00100 MenuTitle="LOCAL SERVERS" 00101 }