source-engine/game/client/c_te_clientprojectile.cpp

79 lines
2.5 KiB
C++
Raw Normal View History

2020-04-22 16:56:21 +00:00
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================
#include "cbase.h"
#include "c_basetempentity.h"
#include "c_te_legacytempents.h"
#include "tier0/vprof.h"
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
//-----------------------------------------------------------------------------
// Purpose: Client Projectile TE
//-----------------------------------------------------------------------------
class C_TEClientProjectile : public C_BaseTempEntity
{
public:
DECLARE_CLASS( C_TEClientProjectile, C_BaseTempEntity );
DECLARE_CLIENTCLASS();
C_TEClientProjectile( void );
virtual ~C_TEClientProjectile( void );
virtual void PostDataUpdate( DataUpdateType_t updateType );
public:
Vector m_vecOrigin;
Vector m_vecVelocity;
int m_nModelIndex;
int m_nLifeTime;
EHANDLE m_hOwner;
};
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
C_TEClientProjectile::C_TEClientProjectile( void )
{
m_vecOrigin.Init();
m_vecVelocity.Init();
m_nModelIndex = 0;
m_nLifeTime = 0;
m_hOwner = NULL;
}
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
C_TEClientProjectile::~C_TEClientProjectile( void )
{
}
void TE_ClientProjectile( IRecipientFilter& filter, float delay,
const Vector* vecOrigin, const Vector* vecVelocity, int modelindex, int lifetime, CBaseEntity *pOwner )
{
tempents->ClientProjectile( *vecOrigin, *vecVelocity, vec3_origin, modelindex, lifetime, pOwner );
}
//-----------------------------------------------------------------------------
// Purpose:
// Input : bool -
//-----------------------------------------------------------------------------
void C_TEClientProjectile::PostDataUpdate( DataUpdateType_t updateType )
{
VPROF( "C_TEClientProjectile::PostDataUpdate" );
tempents->ClientProjectile( m_vecOrigin, m_vecVelocity, vec3_origin, m_nModelIndex, m_nLifeTime, m_hOwner );
}
IMPLEMENT_CLIENTCLASS_EVENT_DT(C_TEClientProjectile, DT_TEClientProjectile, CTEClientProjectile)
RecvPropVector( RECVINFO(m_vecOrigin)),
RecvPropVector( RECVINFO(m_vecVelocity)),
RecvPropInt( RECVINFO(m_nModelIndex)),
RecvPropInt( RECVINFO(m_nLifeTime)),
RecvPropEHandle( RECVINFO(m_hOwner)),
END_RECV_TABLE()