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
1.9 KiB
94 lines
1.9 KiB
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Interface of CPlayer
|
|
//
|
|
// $Workfile: $
|
|
// $Date: $
|
|
//
|
|
//------------------------------------------------------------------------------------------------------
|
|
// $Log: $
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
#pragma warning (disable:4786)
|
|
#ifndef PLAYER_H
|
|
#define PLAYER_H
|
|
#ifdef WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include <time.h>
|
|
#include <map>
|
|
#include <string>
|
|
|
|
#include "util.h"
|
|
|
|
#include "TimeIndexedList.h"
|
|
#include "pid.h"
|
|
class CMatchInfo;
|
|
|
|
class CPlayer
|
|
{
|
|
public:
|
|
struct plr_per_team_data
|
|
{
|
|
int kills;
|
|
int deaths;
|
|
int suicides;
|
|
//double rank;
|
|
int teamkills;
|
|
int teamkilled;
|
|
std::map<std::string,int> weaponKills;
|
|
std::string faveweapon;
|
|
int faveweapkills;
|
|
double rank();
|
|
std::string faveWeapon();
|
|
int faveWeapKills();
|
|
plr_per_team_data(){kills=deaths=suicides=teamkills=teamkilled=faveweapkills=0;}
|
|
|
|
CTimeIndexedList<player_class> classesplayed; //stores class, indexed by the time when that class was switched to.
|
|
|
|
time_t timeon;
|
|
time_t timeOn();
|
|
};
|
|
|
|
CTimeIndexedList<player_class> allclassesplayed; //stores class, indexed by the time when that class was switched to.
|
|
|
|
CTimeIndexedList<int> teams;
|
|
plr_per_team_data perteam[MAX_TEAMS+1];
|
|
|
|
CTimeIndexedList<std::string> aliases;
|
|
std::string name; //this will be set to the favourite name of the player
|
|
//int team;
|
|
int svrPID;
|
|
unsigned long WONID;
|
|
string ipAddress;
|
|
int reconnects;
|
|
|
|
|
|
PID pid;
|
|
time_t logontime;
|
|
time_t logofftime;
|
|
time_t totalTimeOn();
|
|
|
|
|
|
|
|
|
|
// int teamID(){return team;}
|
|
CPlayer();
|
|
|
|
void nameFound(time_t t, std::string alias);
|
|
|
|
|
|
|
|
|
|
|
|
//merge stats from all teams into 5th "team" (all teams)
|
|
void merge();
|
|
};
|
|
|
|
#include "pid.h"
|
|
typedef std::map<PID,CPlayer> CPlayerList;
|
|
typedef CPlayerList::iterator CPlayerListIterator;
|
|
|
|
#endif // PLAYER_H
|