99 lines
2.9 KiB
C++
99 lines
2.9 KiB
C++
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $Workfile: $
|
|
// $Date: $
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
#include "cbase.h"
|
|
#include "c_basetempentity.h"
|
|
#include "tier0/vprof.h"
|
|
|
|
// memdbgon must be the last include file in a .cpp file!!!
|
|
#include "tier0/memdbgon.h"
|
|
|
|
extern IPhysicsSurfaceProps *physprops;
|
|
|
|
class C_TEImpact : public C_BaseTempEntity
|
|
{
|
|
public:
|
|
DECLARE_CLASS( C_TEImpact, C_BaseTempEntity );
|
|
|
|
DECLARE_CLIENTCLASS();
|
|
|
|
C_TEImpact( void );
|
|
virtual ~C_TEImpact( void );
|
|
|
|
virtual void PostDataUpdate( DataUpdateType_t updateType );
|
|
virtual void Precache( void );
|
|
|
|
virtual void PlayImpactSound( trace_t &tr );
|
|
virtual void PerformCustomEffects( trace_t &tr, Vector &shotDir );
|
|
public:
|
|
Vector m_vecOrigin;
|
|
Vector m_vecNormal;
|
|
int m_iType;
|
|
byte m_ucFlags;
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
// Output :
|
|
//-----------------------------------------------------------------------------
|
|
C_TEImpact::C_TEImpact( void )
|
|
{
|
|
m_vecOrigin.Init();
|
|
m_vecNormal.Init();
|
|
|
|
m_iType = -1;
|
|
m_ucFlags = 0;
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
// Output :
|
|
//-----------------------------------------------------------------------------
|
|
C_TEImpact::~C_TEImpact( void )
|
|
{
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
void C_TEImpact::Precache( void )
|
|
{
|
|
//TODO: Precache all materials/sounds used by impacts here
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
// Input : unused -
|
|
//-----------------------------------------------------------------------------
|
|
void C_TEImpact::PostDataUpdate( DataUpdateType_t updateType )
|
|
{
|
|
VPROF( "C_TEImpact::PostDataUpdate" );
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose:
|
|
//-----------------------------------------------------------------------------
|
|
void C_TEImpact::PlayImpactSound( trace_t &tr )
|
|
{
|
|
}
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Perform custom effects based on the Decal index
|
|
//-----------------------------------------------------------------------------
|
|
void C_TEImpact::PerformCustomEffects( trace_t &tr, Vector &shotDir )
|
|
{
|
|
}
|
|
|
|
//Receive data table
|
|
IMPLEMENT_CLIENTCLASS_EVENT_DT( C_TEImpact, DT_TEImpact, CTEImpact)
|
|
RecvPropVector( RECVINFO( m_vecOrigin ) ),
|
|
RecvPropVector( RECVINFO( m_vecNormal ) ),
|
|
RecvPropInt( RECVINFO( m_iType ) ),
|
|
RecvPropInt( RECVINFO( m_ucFlags ) ),
|
|
END_RECV_TABLE()
|