source-engine/game/client/dod/dod_playerstats.h

53 lines
1.2 KiB
C
Raw Normal View History

2022-04-16 09:05:19 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef DOD_PLAYERSTATS_H
#define DOD_PLAYERSTATS_H
#ifdef _WIN32
#pragma once
#endif
#include "steam/steam_api.h"
#include "GameEventListener.h"
#include "dod_shareddefs.h"
#include "weapon_dodbase.h"
typedef struct
{
dod_stat_accumulator_t stats;
int iWeaponID;
} weapon_stat_t;
class CDODPlayerStats : public CAutoGameSystem, public CGameEventListener
{
public:
CDODPlayerStats();
virtual void PostInit();
virtual void LevelShutdownPreEntity();
void UploadStats();
void UpdateStats( int iPlayerClass, int iTeam, dod_stat_accumulator_t *playerStats, CUtlVector<weapon_stat_t> *vecWeaponStats );
void MsgFunc_DODPlayerStatsUpdate( bf_read &msg );
private:
void FireGameEvent( IGameEvent *event );
void SetNextForceUploadTime();
float m_flTimeNextForceUpload;
// 6 x dod_stat_accumulator_t
dod_stat_accumulator_t m_PlayerStats[2][NUM_DOD_PLAYERCLASSES];
// num_weapons x dod_stat_accumulator_t
dod_stat_accumulator_t m_WeaponStats[WEAPON_MAX];
};
extern CDODPlayerStats g_DODPlayerStats;
#endif //DOD_PLAYERSTATS_H