mirror of
https://github.com/alliedmodders/hl2sdk.git
synced 2025-09-19 20:16:10 +08:00
Added original SDK code for Alien Swarm.
This commit is contained in:
95
game/server/sprite_perfmonitor.cpp
Normal file
95
game/server/sprite_perfmonitor.cpp
Normal file
@ -0,0 +1,95 @@
|
||||
//====== Copyright <20> 1996-2006, Valve Corporation, All rights reserved. =======
|
||||
//
|
||||
// Purpose: an entity which turns on and off counting and display of the particle
|
||||
// performance metric
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#include "cbase.h"
|
||||
#include "baseentity.h"
|
||||
#include "entityoutput.h"
|
||||
#include "convar.h"
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Entity that particle performance measuring
|
||||
//-----------------------------------------------------------------------------
|
||||
class CParticlePerformanceMonitor : public CPointEntity
|
||||
{
|
||||
DECLARE_CLASS( CParticlePerformanceMonitor, CPointEntity );
|
||||
public:
|
||||
DECLARE_DATADESC();
|
||||
DECLARE_SERVERCLASS();
|
||||
|
||||
void Spawn( void );
|
||||
int UpdateTransmitState( void );
|
||||
|
||||
// Inputs
|
||||
void InputTurnOnDisplay( inputdata_t &inputdata );
|
||||
void InputTurnOffDisplay( inputdata_t &inputdata );
|
||||
void InputStartMeasuring( inputdata_t &inputdata );
|
||||
void InputStopMeasuring( inputdata_t &inputdata );
|
||||
|
||||
private:
|
||||
CNetworkVar( bool, m_bDisplayPerf );
|
||||
CNetworkVar( bool, m_bMeasurePerf );
|
||||
};
|
||||
|
||||
LINK_ENTITY_TO_CLASS( env_particle_performance_monitor, CParticlePerformanceMonitor );
|
||||
|
||||
BEGIN_DATADESC( CParticlePerformanceMonitor )
|
||||
DEFINE_FIELD( m_bDisplayPerf, FIELD_BOOLEAN ),
|
||||
DEFINE_FIELD( m_bMeasurePerf, FIELD_BOOLEAN ),
|
||||
|
||||
// Inputs
|
||||
DEFINE_INPUTFUNC( FIELD_VOID, "TurnOnDisplay", InputTurnOnDisplay ),
|
||||
DEFINE_INPUTFUNC( FIELD_VOID, "TurnOffDisplay", InputTurnOffDisplay ),
|
||||
DEFINE_INPUTFUNC( FIELD_VOID, "StartMeasuring", InputStartMeasuring ),
|
||||
DEFINE_INPUTFUNC( FIELD_VOID, "StopMeasuring", InputStopMeasuring ),
|
||||
END_DATADESC()
|
||||
|
||||
IMPLEMENT_SERVERCLASS_ST( CParticlePerformanceMonitor, DT_ParticlePerformanceMonitor )
|
||||
SendPropInt( SENDINFO(m_bDisplayPerf), 1, SPROP_UNSIGNED ),
|
||||
SendPropInt( SENDINFO(m_bMeasurePerf), 1, SPROP_UNSIGNED ),
|
||||
END_SEND_TABLE()
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
void CParticlePerformanceMonitor::Spawn( void )
|
||||
{
|
||||
SetSolid( SOLID_NONE );
|
||||
SetMoveType( MOVETYPE_NONE );
|
||||
m_bDisplayPerf = false;
|
||||
m_bMeasurePerf = false;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
int CParticlePerformanceMonitor::UpdateTransmitState()
|
||||
{
|
||||
return SetTransmitState( FL_EDICT_ALWAYS );
|
||||
}
|
||||
|
||||
void CParticlePerformanceMonitor::InputTurnOnDisplay( inputdata_t &inputdata )
|
||||
{
|
||||
m_bDisplayPerf = true;
|
||||
}
|
||||
|
||||
void CParticlePerformanceMonitor::InputTurnOffDisplay( inputdata_t &inputdata )
|
||||
{
|
||||
m_bDisplayPerf = false;
|
||||
}
|
||||
|
||||
void CParticlePerformanceMonitor::InputStartMeasuring( inputdata_t &inputdata )
|
||||
{
|
||||
m_bMeasurePerf = true;
|
||||
}
|
||||
|
||||
void CParticlePerformanceMonitor::InputStopMeasuring( inputdata_t &inputdata )
|
||||
{
|
||||
m_bMeasurePerf = false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user