rott/kf_sources/GUI2K4/Classes/UT2K4Tab_AdminPlayerList.uc
2026-07-14 20:27:09 +07:00

120 lines
3.0 KiB
Ucode

// ====================================================================
// (C) 2002, Epic Games
// ====================================================================
class UT2K4Tab_AdminPlayerList extends UT2K4TabPanel;
var AdminPlayerList MyPlayerList;
var GUIMultiColumnListbox MyListBox;
var bool bAdvancedAdmin;
function InitComponent(GUIController MyController, GUIComponent MyOwner)
{
Super.InitComponent(MyController,MyOwner);
MyListBox = GUIMultiColumnListbox(Controls[1]);
MyPlayerList = AdminPlayerList(MyListBox.Controls[0]);
MyPlayerList.Initcomponent(MyController,self);
WinWidth = Controller.ActivePage.WinWidth;
WinLeft = Controller.ActivePage.WinLeft;
}
function ProcessRule(string NewRule)
{
if (NewRule=="Done")
XPlayer(PlayerOwner()).ProcessRule = None;
else
MyPlayerList.Add(NewRule);
}
function ReloadList()
{
MyPlayerList.Clear();
if (XPlayer(PlayerOwner())!=None)
{
XPlayer(PlayerOwner()).ProcessRule = ProcessRule;
XPlayer(PlayerOwner()).ServerRequestPlayerInfo();
}
}
function bool KickClicked(GUIComponent Sender)
{
PlayerOwner().ConsoleCommand("Admin Kick"@MyPlayerList.MyPlayers[MyPlayerList.Index].PlayerName);
ReloadList();
return true;
}
function bool BanClicked(GUIComponent Sender)
{
if (bAdvancedAdmin)
PlayerOwner().ConsoleCommand("Admin Kick Ban"@MyPlayerList.MyPlayers[MyPlayerList.Index].PlayerName);
else PlayerOwner().ConsoleCommand("Admin KickBan"@MyPlayerList.MyPlayers[MyPlayerList.Index].PlayerName);
ReloadList();
return true;
}
defaultproperties
{
Begin Object Class=GUIImage name=AdminBackground
bAcceptsInput=false
bNeverFocus=true
Image=Texture'InterfaceArt_tex.Menu.changeme_texture' //Material'InterfaceContent.Menu.SquareBoxA'
ImageStyle=ISTY_Stretched
WinWidth=1
WinLeft=0
WinHeight=1
WinTop=0
End Object
Controls(0)=GUIImage'AdminBackground'
Begin Object Class=AdminPlayerList Name=AdminList
End Object
Begin Object Class=GUIMultiColumnListBox Name=AdminPlayersListBox
WinWidth=1.000000
WinHeight=0.878127
WinLeft=0.000000
WinTop=0.000000
bVisibleWhenEmpty=True
StyleName="ServerBrowserGrid"
Controls(0)=AdminList
End Object
Controls(1)=GUIMultiColumnListBox'AdminPlayersListBox'
Begin Object Class=GUIButton Name=AdminPlayerKick
Caption="Kick"
StyleName="SquareMenuButton"
Hint="Kick this Player"
WinWidth=0.120000
WinHeight=0.070625
WinLeft=0.743750
WinTop=0.900000
OnClick=KickClicked
End Object
Controls(2)=GUIButton'AdminPlayerKick'
Begin Object Class=GUIButton Name=AdminPlayerBan
Caption="Ban"
StyleName="SquareMenuButton"
Hint="Ban this player"
WinWidth=0.120000
WinHeight=0.070625
WinLeft=0.868750
WinTop=0.900000
OnClick=BanClicked
End Object
Controls(3)=GUIButton'AdminPlayerBan'
WinLeft=0
WinWidth=1
WinTop=0
WinHeight=0.625003
}