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.
94 lines
2.4 KiB
94 lines
2.4 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: Interface of CMatchInfo |
|
// |
|
// $Workfile: $ |
|
// $Date: $ |
|
// |
|
//------------------------------------------------------------------------------------------------------ |
|
// $Log: $ |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
#pragma warning(disable:4786) |
|
#ifndef MATCHINFO_H |
|
#define MATCHINFO_H |
|
#ifdef WIN32 |
|
#pragma once |
|
#endif |
|
#include <map> |
|
#include <string> |
|
#include "EventList.h" |
|
#include "util.h" |
|
#include "player.h" |
|
#include "time.h" |
|
using namespace std; |
|
|
|
//------------------------------------------------------------------------------------------------------ |
|
// Purpose: CMatchInfo is a collection of data gleaned from the logfile. An |
|
// instance of this class contains info that many different report elements and |
|
// awards use, such as player names, teams, and things like that. |
|
//------------------------------------------------------------------------------------------------------ |
|
class CMatchInfo |
|
{ |
|
private: |
|
CPlayerList players; |
|
public: |
|
CPlayerListIterator playerBegin(){return players.begin();} |
|
CPlayerListIterator playerEnd(){return players.end();} |
|
|
|
CPlayerList& playerList(){return players;} |
|
private: |
|
string teamnames[MAX_TEAMS]; |
|
bool team_exists[MAX_TEAMS]; |
|
string servername; |
|
string mapname; |
|
|
|
|
|
|
|
int numPlrs; |
|
time_t logclosetime; |
|
time_t logopentime; |
|
CEventList* plogfile; |
|
bool bLanGame; |
|
|
|
public: |
|
|
|
explicit CMatchInfo(CEventList* plf); |
|
|
|
bool isLanGame(){return bLanGame;} |
|
|
|
void generate(); |
|
CEventList* eventList(){return plogfile;} |
|
|
|
int numPlayers(){return numPlrs;} |
|
string mapName(){return mapname;} |
|
|
|
|
|
char* playerName(PID pid,char* out){if (pid==1) return "PID=-1!"; strcpy(out,players[pid].name.c_str());return out;} |
|
string playerName(PID pid){return pid==-1?string("PID=-1!"):players[pid].name;} |
|
|
|
PID getPlayerID(string name); |
|
//unsigned int getPlayerWONID(string name); |
|
|
|
|
|
//unsigned int getPlayerWONID(PID pid){return players[pid].WONID;} |
|
|
|
//int playerTeamID(PID p){return players[p].team;} |
|
|
|
string teamName(int TID){return teamnames[TID];} |
|
int teamID(string teamname); |
|
bool teamExists(int tid){return team_exists[tid];} |
|
|
|
string getServerName(){return servername;} |
|
|
|
time_t getTimeOn(PID pid); |
|
time_t logCloseTime(){return logclosetime;} |
|
time_t logOpenTime(){return logopentime;} |
|
|
|
|
|
}; |
|
|
|
extern CMatchInfo* g_pMatchInfo; |
|
|
|
#endif // MATCHINFO_H
|
|
|