// ==================================================================== // (C) 2002, Epic Games // ==================================================================== class AdminPlayerList extends GUIMultiColumnList; struct PlayerInfo { var string PlayerName; var string PlayerID; var string PlayerIP; }; var array MyPlayers; var GUIStyles SelStyle; function Clear() { MyPlayers.Remove(0,MyPlayers.Length); Super.Clear(); } function Add(string PlayerInfo) { local string s; local int i,idx; idx = MyPlayers.Length; MyPlayers.Length = MyPlayers.Length+1; i = instr(PlayerInfo,chr(27)); s = left(PlayerInfo,i); MyPlayers[idx].PlayerName=s; PlayerInfo = right(PlayerInfo,Len(PlayerInfo)-i-1); i = instr(PlayerInfo,chr(27)); s = left(PlayerInfo,i); MyPlayers[idx].PlayerID=s; PlayerInfo = right(PlayerInfo,Len(PlayerInfo)-i-1); MyPlayers[idx].PlayerIP = PlayerInfo; ItemCount++; AddedItem(); } function InitComponent(GUIController MyController, GUIComponent MyOwner) { OnDrawItem = MyOnDrawItem; OnKeyEvent = InternalOnKeyEvent; Super.Initcomponent(MyController, MyOwner); SelStyle = Controller.GetStyle("SquareButton",FontScale); } function MyOnDrawItem(Canvas Canvas, int i, float X, float Y, float W, float H, bool bSelected, bool bPending) { local float CellLeft, CellWidth; if( bSelected ) { Canvas.SetDrawColor(128,8,8,255); Canvas.SetPos(x,y-2); Canvas.DrawTile(Controller.DefaultPens[0],w,h+2,0,0,1,1); Canvas.SetDrawColor(255,255,255,255); } GetCellLeftWidth( 0, CellLeft, CellWidth ); Style.DrawText( Canvas, MenuState, X+CellLeft, Y, CellWidth, H, TXTA_Left, MyPlayers[i].PlayerName, FontScale); GetCellLeftWidth( 1, CellLeft, CellWidth ); Style.DrawText( Canvas, MenuState, X+CellLeft, Y, CellWidth, H, TXTA_Left, MyPlayers[i].PlayerID, FontScale); GetCellLeftWidth( 2, CellLeft, CellWidth ); Style.DrawText( Canvas, MenuState, X+CellLeft, Y, CellWidth, H, TXTA_Left, MyPlayers[i].PlayerIP, FontScale); } defaultproperties { ColumnHeadings(0)="Player Name" ColumnHeadings(1)="Unique ID" ColumnHeadings(2)="IP" InitColumnPerc(0)=0.3 InitColumnPerc(1)=0.4 InitColumnPerc(2)=0.3 SortColumn=-1 WinHeight=1 }