Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Implementation of CPlayerSpecifics
//
// $Workfile: $
// $Date: $
//
//------------------------------------------------------------------------------------------------------
// $Log: $
//
// $NoKeywords: $
//=============================================================================//
#include "PlayerSpecifics.h"
#include "PlayerReport.h"
//------------------------------------------------------------------------------------------------------
// Function: CPlayerSpecifics::init
// Purpose: intializes the object
//------------------------------------------------------------------------------------------------------
void CPlayerSpecifics::init() { }
//------------------------------------------------------------------------------------------------------
// Function: CPlayerSpecifics::generate
// Purpose: generates intermediate data from match info
//------------------------------------------------------------------------------------------------------
void CPlayerSpecifics::generate() { }
//------------------------------------------------------------------------------------------------------
// Function: CPlayerSpecifics::writeHTML
// Purpose: writes out html based on the intermediate data generated by generate()
// Input: html - the html file to output to
//------------------------------------------------------------------------------------------------------
void CPlayerSpecifics::writeHTML(CHTMLFile& html) { int numteams=0; for (int t=0;t<MAX_TEAMS;t++) if (g_pMatchInfo->teamExists(t)) numteams++;
html.write("<table cols=%li cellspacing=0 border=0 cellpadding=10 bordercolor=black>\n",numteams); CPlayerListIterator i; //multimap<double,CPlayer,greater<double> > ranksort;
//split playerlist into teams;
multimap<double,CPlayer,greater<double> > rankedteams[MAX_TEAMS];
for (i=g_pMatchInfo->playerBegin();i!=g_pMatchInfo->playerEnd();++i) { PID pid=(*i).first; CPlayer p=(*i).second; for (int t=0;t<MAX_TEAMS;t++) { if (p.teams.contains(t)) { double rank=p.perteam[t].rank(); pair<double,CPlayer> insertme(rank,p); rankedteams[t].insert(insertme); } } }
while(!rankedteams[0].empty() || !rankedteams[1].empty() || !rankedteams[2].empty() || !rankedteams[3].empty()) { html.write("<tr>\n"); int t; for (t=0;t<MAX_TEAMS;t++) { if (!g_pMatchInfo->teamExists(t)) continue; html.write("<td width=250 valign=top>"); if (rankedteams[t].begin()==rankedteams[t].end()) continue; else { CPlayer& plr=(*(rankedteams[t].begin())).second; CPlayerReport cpr(&plr,t); cpr.writeHTML(html); rankedteams[t].erase(rankedteams[t].begin()); //break;
} html.write("</td>\n"); } html.write("</tr>\n"); } html.write("</table>"); }
|