Core.Object | +--UWindow.UWindowBase | +--UWindow.UWindowList | +--UBrowser.UBrowserServerListFactory | +--UBrowser.UBrowserLocalFact
string
BeaconProduct
UBrowserLocalLink
Link
int
ServerBeaconPort
UBrowserServerList
FoundServer(string IP, int QueryPort, string Category, string GameName, optional string)
void
Query(optional bool, optional bool)
QueryFinished(bool bSuccess, optional string)
Shutdown(optional bool)
00001 class UBrowserLocalFact extends UBrowserServerListFactory; 00002 00003 var UBrowserLocalLink Link; 00004 00005 // Config 00006 var config string BeaconProduct; 00007 var config int ServerBeaconPort; 00008 00009 function Query(optional bool bBySuperset, optional bool bInitial) 00010 { 00011 Super.Query(bBySuperset, bInitial); 00012 00013 Owner = PingedList; 00014 00015 // Update status bar 00016 Owner.Owner.PingFinished(); 00017 00018 Link = GetPlayerOwner().GetEntryLevel().Spawn(class'UBrowserLocalLink'); 00019 00020 Link.BeaconProduct = BeaconProduct; 00021 Link.ServerBeaconPort = ServerBeaconPort; 00022 00023 Link.OwnerFactory = Self; 00024 Link.Start(); 00025 } 00026 00027 function UBrowserServerList FoundServer(string IP, int QueryPort, string Category, string GameName, optional string HostName) 00028 { 00029 local UBrowserServerList l; 00030 00031 l = Super.FoundServer(IP, QueryPort, Category, GameName); 00032 l.bLocalServer = True; 00033 00034 if(!l.bPinging) 00035 l.PingServer(True, True, Owner.Owner.bNoSort); 00036 00037 return l; 00038 } 00039 00040 function QueryFinished(bool bSuccess, optional string ErrorMsg) 00041 { 00042 Link.Destroy(); 00043 Link = None; 00044 00045 Super.QueryFinished(bSuccess, ErrorMsg); 00046 00047 // Update status bar 00048 Owner.Owner.PingFinished(); 00049 } 00050 00051 function Shutdown(optional bool bBySuperset) 00052 { 00053 if(Link != None) 00054 Link.Destroy(); 00055 Link = None; 00056 Super.Shutdown(bBySuperset); 00057 } 00058 00059 defaultproperties 00060 { 00061 BeaconProduct="unreal" 00062 ServerBeaconPort=8777 00063 bIncrementalPing=True 00064 }