RBrowser
Class RBrowserServerGrid

source: c:\runehov\RBrowser\Classes\RBrowserServerGrid.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowGrid
            |
            +--UBrowser.UBrowserServerGrid
               |
               +--RBrowser.RBrowserServerGrid
Direct Known Subclasses:None

class RBrowserServerGrid
extends UBrowser.UBrowserServerGrid


Variables
 UWindowMessageBox AskNgStats
 string AskNgStatsText
 string AskNgStatsTitle
 UBrowserServerList ConnectToServer
 string EnabledText
 bool bWaitingForNgStats
 UWindowGridColumn ngStats
 string ngStatsName


Function Summary
 void BeforePaint(Canvas C, float X, float Y)
     
//		if(!GetPlayerOwner().ngSecretSet && RBrowserServerList(Server).bNGWorldStats)
//		{
//			ConnectToServer = Server;
//			AskNgStats = MessageBox(AskNgStatsTitle, AskNgStatsText, MB_YesNoCancel, MR_Yes);
//		}
//		else
			ReallyJoinServer(Server);
	}
}

 int Compare(UBrowserServerList T, UBrowserServerList B)
     
{
	switch(Column)
	{
	case ngStats:
		if(RBrowserServerList(List).bNGWorldStats)
			Column.ClipText( C, X, Y, EnabledText );
		break;
	default:
		Super.DrawCell(C, X, Y, Column, List);
		break;
	}
}

 void CreateColumns()
     
 void DrawCell(Canvas C, float X, float Y, UWindowGridColumn Column, UBrowserServerList List)
     
{
	Super.CreateColumns();

	ngStats	= AddColumn(ngStatsName, 80);
}

 void JoinServer(UBrowserServerList Server)
     
{
	if(W == AskNgStats)
	{
		AskNgStats = None;
		if(Result == MR_Cancel)
			return;
		else
		if(Result == MR_Yes)
		{
			ShowModal(Root.CreateWindow(class(DynamicLoadObject("RMenu.ngWorldSecretWindow", class'Class')), 100, 100, 200, 200, Root, True));
			bWaitingForNgStats = True;
		}
		else
		{
			GetPlayerOwner().ngSecretSet = True;
			GetPlayerOwner().SaveConfig();
			ReallyJoinServer(ConnectToServer);
		}
	}
}

 void MessageBoxDone(UWindowMessageBox W, MessageBoxResult Result)
     
{
	switch(SortByColumn)
	{
	case ngStats:
		if(RBrowserServerList(T).bNGWorldStats == RBrowserServerList(B).bNGWorldStats)	
			return ByName(T, B);

		if(RBrowserServerList(T).bNGWorldStats)
		{
			if(bSortDescending)
				return 1;
			else
				return -1;
		}
		else
		{
			if(bSortDescending)
				return -1;
			else
				return 1;
		}

		break;
	default:
		return Super.Compare(T, B);
		break;
	}
}

 void ReallyJoinServer(UBrowserServerList Server)
     
{
	Super.BeforePaint(C, X, Y);
	if(bWaitingForNgStats && !WaitModal())
	{
		ReallyJoinServer(ConnectToServer);
		bWaitingForNgStats = False;
	}
}




Source Code


00001	class RBrowserServerGrid expands UBrowserServerGrid;
00002	
00003	
00004	/*
00005	var UWindowGridColumn ngStats;
00006	var localized string ngStatsName;
00007	var localized string EnabledText;
00008	var UBrowserServerList ConnectToServer;
00009	var bool bWaitingForNgStats;
00010	
00011	var UWindowMessageBox AskNgStats;
00012	var localized string AskNgStatsTitle;
00013	var localized string AskNgStatsText;
00014	
00015	function CreateColumns()
00016	{
00017		Super.CreateColumns();
00018	
00019		ngStats	= AddColumn(ngStatsName, 80);
00020	}
00021	
00022	function DrawCell(Canvas C, float X, float Y, UWindowGridColumn Column, UBrowserServerList List)
00023	{
00024		switch(Column)
00025		{
00026		case ngStats:
00027			if(RBrowserServerList(List).bNGWorldStats)
00028				Column.ClipText( C, X, Y, EnabledText );
00029			break;
00030		default:
00031			Super.DrawCell(C, X, Y, Column, List);
00032			break;
00033		}
00034	}
00035	
00036	function int Compare(UBrowserServerList T, UBrowserServerList B)
00037	{
00038		switch(SortByColumn)
00039		{
00040		case ngStats:
00041			if(RBrowserServerList(T).bNGWorldStats == RBrowserServerList(B).bNGWorldStats)	
00042				return ByName(T, B);
00043	
00044			if(RBrowserServerList(T).bNGWorldStats)
00045			{
00046				if(bSortDescending)
00047					return 1;
00048				else
00049					return -1;
00050			}
00051			else
00052			{
00053				if(bSortDescending)
00054					return -1;
00055				else
00056					return 1;
00057			}
00058	
00059			break;
00060		default:
00061			return Super.Compare(T, B);
00062			break;
00063		}
00064	}
00065	
00066	function MessageBoxDone(UWindowMessageBox W, MessageBoxResult Result)
00067	{
00068		if(W == AskNgStats)
00069		{
00070			AskNgStats = None;
00071			if(Result == MR_Cancel)
00072				return;
00073			else
00074			if(Result == MR_Yes)
00075			{
00076				ShowModal(Root.CreateWindow(class<UWindowWindow>(DynamicLoadObject("RMenu.ngWorldSecretWindow", class'Class')), 100, 100, 200, 200, Root, True));
00077				bWaitingForNgStats = True;
00078			}
00079			else
00080			{
00081				GetPlayerOwner().ngSecretSet = True;
00082				GetPlayerOwner().SaveConfig();
00083				ReallyJoinServer(ConnectToServer);
00084			}
00085		}
00086	}
00087	
00088	function JoinServer(UBrowserServerList Server)
00089	{
00090		if(Server != None && Server.GamePort != 0) 
00091		{
00092	//		if(!GetPlayerOwner().ngSecretSet && RBrowserServerList(Server).bNGWorldStats)
00093	//		{
00094	//			ConnectToServer = Server;
00095	//			AskNgStats = MessageBox(AskNgStatsTitle, AskNgStatsText, MB_YesNoCancel, MR_Yes);
00096	//		}
00097	//		else
00098				ReallyJoinServer(Server);
00099		}
00100	}
00101	
00102	function BeforePaint(Canvas C, float X, float Y)
00103	{
00104		Super.BeforePaint(C, X, Y);
00105		if(bWaitingForNgStats && !WaitModal())
00106		{
00107			ReallyJoinServer(ConnectToServer);
00108			bWaitingForNgStats = False;
00109		}
00110	}
00111	
00112	function ReallyJoinServer(UBrowserServerList Server)
00113	{
00114		GetPlayerOwner().ClientTravel("rune://"$Server.IP$":"$Server.GamePort$UBrowserServerListWindow(GetParent(class'UBrowserServerListWindow')).URLAppend, TRAVEL_Absolute, false);
00115		GetParent(class'UWindowFramedWindow').Close();
00116		Root.Console.CloseUWindow();
00117	}
00118	*/
00119	
00120	defaultproperties
00121	{
00122	}

End Source Code