265 lines
6.2 KiB
Ucode
265 lines
6.2 KiB
Ucode
// ====================================================================
|
|
// Class: XInterface.ServerListPage
|
|
// Parent: XInterface.GUITabPanel
|
|
//
|
|
// <Enter a description here>
|
|
// ====================================================================
|
|
|
|
class Browser_ServerListPageBase extends Browser_Page;
|
|
|
|
// Internal
|
|
var Browser_ServersList MyServersList;
|
|
var bool ConnectLAN;
|
|
var GUITitleBar StatusBar;
|
|
var bool bInitialized;
|
|
|
|
function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
if( !bInitialized )
|
|
{
|
|
MyServersList = Browser_ServersList(GUIMultiColumnListBox(GUIPanel(GUISplitter(Controls[0]).Controls[0]).Controls[0]).Controls[0]);
|
|
MyServersList.MyPage = Self;
|
|
MyServersList.MyRulesList = Browser_RulesList (GUIMultiColumnListBox(GUIPanel(GUISplitter(GUISplitter(Controls[0]).Controls[1]).Controls[0]).Controls[0]).Controls[0]);
|
|
MyServersList.MyPlayersList = Browser_PlayersList(GUIMultiColumnListBox(GUIPanel(GUISplitter(GUISplitter(Controls[0]).Controls[1]).Controls[1]).Controls[0]).Controls[0]);
|
|
MyServersList.MyRulesList.MyPage = Self;
|
|
MyServersList.MyRulesList.MyServersList = MyServersList;
|
|
MyServersList.MyPlayersList.MyPage = Self;
|
|
MyServersList.MyPlayersList.MyServersList = MyServersList;
|
|
|
|
StatusBar = GUITitleBar(GUIPanel(Controls[1]).Controls[5]);
|
|
}
|
|
StatusBar.SetCaption(ReadyString);
|
|
|
|
Super.Initcomponent(MyController, MyOwner);
|
|
|
|
if( !bInitialized )
|
|
{
|
|
GUIButton(GUIPanel(Controls[1]).Controls[0]).OnClick=BackClick;
|
|
GUIButton(GUIPanel(Controls[1]).Controls[1]).OnClick=RefreshClick;
|
|
GUIButton(GUIPanel(Controls[1]).Controls[2]).OnClick=JoinClick;
|
|
GUIButton(GUIPanel(Controls[1]).Controls[3]).OnClick=SpectateClick;
|
|
GUIButton(GUIPanel(Controls[1]).Controls[4]).OnClick=AddFavoriteClick;
|
|
}
|
|
|
|
bInitialized = True;
|
|
}
|
|
// functions
|
|
|
|
function RefreshList()
|
|
{
|
|
}
|
|
|
|
function PingServer( int i, ServerQueryClient.EPingCause PingCause, GameInfo.ServerResponseLine s )
|
|
{
|
|
}
|
|
|
|
function CancelPings()
|
|
{
|
|
}
|
|
|
|
// delegates
|
|
function bool BackClick(GUIComponent Sender)
|
|
{
|
|
Controller.CloseMenu(true);
|
|
return true;
|
|
}
|
|
|
|
function bool RefreshClick(GUIComponent Sender)
|
|
{
|
|
RefreshList();
|
|
return true;
|
|
}
|
|
|
|
function bool JoinClick(GUIComponent Sender)
|
|
{
|
|
MyServersList.Connect(false);
|
|
return true;
|
|
}
|
|
|
|
function bool SpectateClick(GUIComponent Sender)
|
|
{
|
|
MyServersList.Connect(true);
|
|
return true;
|
|
}
|
|
|
|
function bool AddFavoriteClick(GUIComponent Sender)
|
|
{
|
|
MyServersList.AddFavorite(Browser);
|
|
return true;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
// Server list box
|
|
Begin Object Class=Browser_ServersList Name=TheServersList
|
|
End Object
|
|
Begin Object Class=GUIMultiColumnListBox Name=ServersListBox
|
|
WinLeft=0
|
|
WinTop=0
|
|
WinWidth=1
|
|
WinHeight=1
|
|
bVisibleWhenEmpty=True
|
|
Controls(0)=TheServersList
|
|
StyleName="ServerBrowserGrid"
|
|
End Object
|
|
|
|
// Players list box
|
|
Begin Object Class=Browser_PlayersList Name=ThePlayersList
|
|
End Object
|
|
Begin Object Class=GUIMultiColumnListBox Name=PlayersListBox
|
|
WinLeft=0
|
|
WinTop=0
|
|
WinWidth=1
|
|
WinHeight=1
|
|
bVisibleWhenEmpty=True
|
|
Controls(0)=ThePlayersList
|
|
StyleName="ServerBrowserGrid"
|
|
End Object
|
|
|
|
// Rules list box
|
|
Begin Object Class=Browser_RulesList Name=TheRulesList
|
|
End Object
|
|
Begin Object Class=GUIMultiColumnListBox Name=RulesListBox
|
|
WinLeft=0
|
|
WinTop=0
|
|
WinWidth=1
|
|
WinHeight=1
|
|
bVisibleWhenEmpty=True
|
|
Controls(0)=TheRulesList
|
|
StyleName="ServerBrowserGrid"
|
|
End Object
|
|
|
|
// Servers panel
|
|
Begin Object Class=GUIPanel Name=ServersPanel
|
|
Controls(0)=ServersListBox
|
|
End Object
|
|
|
|
// Rules panel
|
|
Begin Object Class=GUIPanel Name=RulesPanel
|
|
Controls(0)=RulesListBox
|
|
End Object
|
|
|
|
// Players panel
|
|
Begin Object Class=GUIPanel Name=PlayersPanel
|
|
Controls(0)=PlayersListBox;
|
|
End Object
|
|
|
|
// Splitter to divide players and rules horizontally
|
|
Begin Object Class=GUISplitter Name=DetailsSplitter
|
|
WinWidth=1.0
|
|
WinHeight=1.0
|
|
WinTop=0
|
|
WinLeft=0
|
|
Controls(0)=RulesPanel
|
|
Controls(1)=PlayersPanel
|
|
SplitOrientation=SPLIT_Horizontal
|
|
SplitPosition=0.5
|
|
Background=DefaultTexture
|
|
End Object
|
|
|
|
// Splitter to divide main window in two: server list and details
|
|
Begin Object Class=GUISplitter Name=MainSplitter
|
|
WinWidth=1.0
|
|
WinHeight=0.9
|
|
WinTop=0
|
|
WinLeft=0
|
|
Controls(0)=ServersPanel
|
|
Controls(1)=DetailsSplitter
|
|
SplitOrientation=SPLIT_Vertical
|
|
SplitPosition=0.5
|
|
End Object
|
|
Controls(0)=MainSplitter
|
|
|
|
Begin Object Class=GUIButton Name=BackButton
|
|
Caption="BACK"
|
|
StyleName="SquareMenuButton"
|
|
WinWidth=0.2
|
|
WinLeft=0
|
|
WinTop=0
|
|
WinHeight=0.5
|
|
End Object
|
|
|
|
Begin Object Class=GUIButton Name=RefreshButton
|
|
Caption="REFRESH LIST"
|
|
StyleName="SquareMenuButton"
|
|
WinWidth=0.2
|
|
WinLeft=0.2
|
|
WinTop=0
|
|
WinHeight=0.5
|
|
End Object
|
|
|
|
Begin Object Class=GUIButton Name=JoinButton
|
|
Caption="JOIN"
|
|
StyleName="SquareMenuButton"
|
|
WinWidth=0.2
|
|
WinLeft=0.4
|
|
WinTop=0
|
|
WinHeight=0.5
|
|
End Object
|
|
|
|
Begin Object Class=GUIButton Name=SpectateButton
|
|
Caption="SPECTATE"
|
|
StyleName="SquareMenuButton"
|
|
WinWidth=0.2
|
|
WinLeft=0.6
|
|
WinTop=0
|
|
WinHeight=0.5
|
|
End Object
|
|
|
|
Begin Object Class=GUIButton Name=AddFavoriteButton
|
|
Caption="ADD FAVORITE"
|
|
StyleName="SquareMenuButton"
|
|
WinWidth=0.2
|
|
WinLeft=0.8
|
|
WinTop=0
|
|
WinHeight=0.5
|
|
End Object
|
|
|
|
Begin Object Class=GUIButton Name=UtilButtonA
|
|
Caption=""
|
|
StyleName="SquareMenuButton"
|
|
WinWidth=0.2
|
|
WinLeft=0.6
|
|
WinTop=0.5
|
|
WinHeight=0.5
|
|
End Object
|
|
|
|
Begin Object Class=GUIButton Name=UtilButtonB
|
|
Caption=""
|
|
StyleName="SquareMenuButton"
|
|
WinWidth=0.2
|
|
WinLeft=0.8
|
|
WinTop=0.5
|
|
WinHeight=0.5
|
|
End Object
|
|
|
|
Begin Object class=GUITitleBar name=MyStatus
|
|
WinWidth=0.6
|
|
WinHeight=0.5
|
|
WinLeft=0
|
|
WinTop=0.5
|
|
StyleName="SquareBar"
|
|
Caption=""
|
|
bUseTextHeight=false
|
|
Justification=TXTA_Left
|
|
End Object
|
|
|
|
Begin Object Class=GUIPanel Name=FooterPanel
|
|
Controls(0)=BackButton
|
|
Controls(1)=RefreshButton
|
|
Controls(2)=JoinButton
|
|
Controls(3)=SpectateButton
|
|
Controls(4)=AddFavoriteButton
|
|
Controls(5)=MyStatus
|
|
Controls(6)=UtilButtonA
|
|
Controls(7)=UtilButtonB
|
|
WinWidth=1
|
|
WinHeight=0.1
|
|
WinLeft=0
|
|
WinTop=0.9
|
|
End Object
|
|
Controls(1)=FooterPanel
|
|
|
|
ConnectLAN=False
|
|
}
|