// ==================================================================== // Class: xVoting.KickVoteMultiColumnList // // Multi-Column list box used to display players. // // Written by Bruce Bickar // (c) 2003, Epic Games, Inc. All Rights Reserved // ==================================================================== class KickVoteMultiColumnList extends GUIMultiColumnList; var VotingReplicationInfo VRI; var array KickVoteData; var array PlayerName; var int PrevSortColumn; //------------------------------------------------------------------------------------------------ function LoadPlayerList(VotingReplicationInfo LoadVRI) { local GameReplicationInfo GRI; local int i,x; if( LoadVRI == none ) return; else VRI = LoadVRI; GRI = PlayerOwner().GameReplicationInfo; KickVoteData.Remove(0,KickVoteData.Length); for(i=0; i -1 ) return KickVoteData[SortData[Index].SortItem].PlayerID; else return -1; } //------------------------------------------------------------------------------------------------ function string GetSelectedPlayerName() { if( Index > -1 ) return PlayerName[Index]; else return ""; } //------------------------------------------------------------------------------------------------ function int GetSelectedTeam() { return KickVoteData[SortData[Index].SortItem].Team; } //------------------------------------------------------------------------------------------------ function timer() { local GameReplicationInfo GRI; local int i,x,TeamIndex; local int PlayerID; local bool bFound; Super.timer(); GRI = PlayerOwner().GameReplicationInfo; // Add new players to list for(i=0; i= SortData.Length || SortData[i].SortItem >= KickVoteData.Length ) return; // Draw the selection border if( bSelected ) { SelectedStyle.Draw(Canvas,MenuState, X, Y-2, W, H+2 ); DrawStyle = SelectedStyle; } else DrawStyle = Style; GetCellLeftWidth( 0, CellLeft, CellWidth ); DrawStyle.DrawText( Canvas, MenuState, CellLeft, Y, CellWidth, H, TXTA_Left, PlayerName[SortData[i].SortItem], FontScale ); if( PlayerOwner().GameReplicationInfo.bTeamGame && (KickVoteData[SortData[i].SortItem].Team < 4) ) TeamName = class'Engine.TeamInfo'.default.ColorNames[KickVoteData[SortData[i].SortItem].Team]; else TeamName = ""; GetCellLeftWidth( 1, CellLeft, CellWidth ); DrawStyle.DrawText( Canvas, MenuState, CellLeft, Y, CellWidth, H, TXTA_Left, TeamName, FontScale ); GetCellLeftWidth( 2, CellLeft, CellWidth ); DrawStyle.DrawText( Canvas, MenuState, CellLeft, Y, CellWidth, H, TXTA_Left, string(KickVoteData[SortData[i].SortItem].PlayerID), FontScale ); GetCellLeftWidth( 3, CellLeft, CellWidth ); DrawStyle.DrawText( Canvas, MenuState, CellLeft, Y, CellWidth, H, TXTA_Left, string(KickVoteData[SortData[i].SortItem].KickVoteCount), FontScale ); } //------------------------------------------------------------------------------------------------ function string GetSortString( int i ) { local string ColumnData[4]; ColumnData[0] = left(Caps(PlayerName[i]),20); ColumnData[1] = left(Caps(KickVoteData[i].Team),5); ColumnData[2] = right("0000" $ KickVoteData[i].PlayerID,4); ColumnData[3] = right("0000" $ KickVoteData[i].KickVoteCount,4); return ColumnData[SortColumn] $ ColumnData[PrevSortColumn]; } //------------------------------------------------------------------------------------------------ event OnSortChanged() { Super.OnSortChanged(); PrevSortColumn = SortColumn; } //------------------------------------------------------------------------------------------------ function Free() { VRI = none; super.Free(); } //------------------------------------------------------------------------------------------------ defaultproperties { ColumnHeadings(0)="Player Name" ColumnHeadings(1)="Team" ColumnHeadings(2)="ID" ColumnHeadings(3)="Votes" InitColumnPerc(0)=0.55 InitColumnPerc(1)=0.15 InitColumnPerc(2)=0.15 InitColumnPerc(3)=0.15 SortColumn=2 SortDescending=True PrevSortColumn=0 ColumnHeadingHints(0)="Player Name" ColumnHeadingHints(1)="Player's Team" ColumnHeadingHints(2)="Player's ID number" ColumnHeadingHints(3)="Number of kick votes registered against this player." StyleName="ServerBrowserGrid" SelectedStyleName="BrowserListSelection" }