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

162 lines
4.4 KiB
Ucode

//====================================================================
// xVoting.KickVotingPage
// Kick Voting page.
//
// Written by Bruce Bickar
// (c) 2003, Epic Games, Inc. All Rights Reserved
// ====================================================================
class KickVotingPage extends VotingPage;
var automated GUISectionBackground sb_List;
var automated KickVoteMultiColumnListBox lb_PlayerListBox;
var automated GUILabel l_PlayerListTitle;
var automated GUIButton b_Info, b_Kick;
// Localization
var localized string lmsgKickVotingDisabled;
function InitComponent(GUIController InController, GUIComponent InOwner)
{
Super.InitComponent(InController, InOwner);
sb_List.ManageComponent(lb_PlayerListBox);
sb_List.ImageOffset[1]=8;
}
//------------------------------------------------------------------------------------------------
function InternalOnOpen()
{
if( MVRI == none || (MVRI != none && !MVRI.bKickVote) )
{
Controller.OpenMenu("GUI2K4.GUI2K4QuestionPage");
GUIQuestionPage(Controller.TopPage()).SetupQuestion(lmsgKickVotingDisabled, QBTN_Ok, QBTN_Ok);
GUIQuestionPage(Controller.TopPage()).OnButtonClick = OnOkButtonClick;
return;
}
lb_PlayerListBox.List.OnDblClick = PlayerListDblClick;
KickVoteMultiColumnList(lb_PlayerListBox.List).LoadPlayerList(MVRI);
f_Chat.OnSubmit = SendKickVote;
f_Chat.WinTop = 0.561457;
f_Chat.WinHeight=0.432031;
}
//------------------------------------------------------------------------------------------------
function OnOkButtonClick(byte bButton) // triggered by th GUIQuestionPage Ok Button
{
Controller.CloseAll(true,true);
}
//------------------------------------------------------------------------------------------------
function UpdateKickVoteCount(VotingHandler.KickVoteScore KVCData)
{
KickVoteMultiColumnList(lb_PlayerListBox.List).UpdatedVoteCount(KVCData.PlayerID, KVCData.KickVoteCount);
}
//------------------------------------------------------------------------------------------------
function bool PlayerListDblClick(GUIComponent Sender)
{
SendKickVote();
return true;
}
//------------------------------------------------------------------------------------------------
function SendKickVote()
{
local int PlayerID;
PlayerID = KickVoteMultiColumnList(lb_PlayerListBox.List).GetSelectedPlayerID();
if( PlayerID > -1 )
MVRI.SendKickVote(PlayerID);
}
//------------------------------------------------------------------------------------------------
function bool InfoClick(GUIComponent Sender)
{
lb_PlayerListBox.InternalOnClick(lb_PlayerListBox.ContextMenu,1);
return true;
}
function bool KickClick(GUIComponent Sender)
{
lb_PlayerListBox.InternalOnClick(lb_PlayerListBox.ContextMenu,0);
return true;
}
defaultproperties
{
OnOpen=InternalOnOpen;
Begin Object Class=KickVoteMultiColumnListBox Name=PlayerListBoxControl
WinWidth=0.473047
WinHeight=0.481758
WinLeft=0.254141
WinTop=0.162239
bVisibleWhenEmpty=true
StyleName="ServerBrowserGrid"
End Object
lb_PlayerListBox = PlayerListBoxControl
Begin Object Class=AltSectionBackground Name=ListBackground
Caption=""
WinWidth=0.953125
// if _RO_
WinHeight=0.5
// else
// WinHeight=0.461357
// end if _RO_
WinLeft=0.023438
WinTop=0.052083
bBoundToParent=True
bScaleToParent=True
bFillClient=true
// if _RO_
LeftPadding=0.01
RightPadding=0.01
BottomPadding=0.1
TopPadding=0.1
// end if _RO_
End Object
sb_List=ListBackground
Begin Object Class=GUIButton Name=InfoButton
Caption="Info"
WinWidth=0.160075
WinHeight=0.040000
WinLeft=0.550634
// if _RO_
WinTop=0.489482
// else
// WinTop=0.511082
// end if _RO_
OnClick=InfoClick
TabOrder=1
bStandardized=true
bBoundToParent=false
bScaleToParent=false
End Object
b_Info=InfoButton
Begin Object class=GUIButton Name=KickButton
Caption="Kick"
WinWidth=0.137744
WinHeight=0.040000
WinLeft=0.715411
// if _RO_
WinTop=0.489482
// else
// WinTop=0.511082
// end if _RO_
OnClick=KickClick
bStandardized=true
TabOrder=1
bBoundToParent=false
bScaleToParent=false
End Object
b_Kick=KickButton
lmsgKickVotingDisabled="Sorry, Kick Voting has been disabled by the server administrator."
WindowName="Kick Voting"
}