mirror of
https://github.com/celisej567/source-engine.git
synced 2026-01-05 22:09:59 +03:00
add source-sdk-2013
This commit is contained in:
@@ -1,109 +0,0 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//=============================================================================//
|
||||
#include "cbase.h"
|
||||
#include "grenadetrail.h"
|
||||
#include "dt_send.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
#define GRENADETRAIL_ENTITYNAME "env_grenadetrail"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
//Data table
|
||||
//-----------------------------------------------------------------------------
|
||||
IMPLEMENT_SERVERCLASS_ST(CGrenadeTrail, DT_GrenadeTrail)
|
||||
SendPropFloat(SENDINFO(m_SpawnRate), 8, 0, 1, 1024),
|
||||
SendPropFloat(SENDINFO(m_ParticleLifetime), 16, SPROP_ROUNDUP, 0.1, 100),
|
||||
SendPropFloat(SENDINFO(m_StopEmitTime), 0, SPROP_NOSCALE),
|
||||
SendPropBool(SENDINFO(m_bEmit) ),
|
||||
SendPropInt(SENDINFO(m_nAttachment), 32 ),
|
||||
END_SEND_TABLE()
|
||||
|
||||
|
||||
BEGIN_DATADESC( CGrenadeTrail )
|
||||
|
||||
DEFINE_KEYFIELD( m_SpawnRate, FIELD_FLOAT, "spawnrate" ),
|
||||
DEFINE_KEYFIELD( m_ParticleLifetime, FIELD_FLOAT, "lifetime" ),
|
||||
DEFINE_FIELD( m_StopEmitTime, FIELD_TIME ),
|
||||
DEFINE_FIELD( m_bEmit, FIELD_BOOLEAN ),
|
||||
DEFINE_FIELD( m_nAttachment, FIELD_INTEGER ),
|
||||
|
||||
END_DATADESC()
|
||||
|
||||
|
||||
LINK_ENTITY_TO_CLASS(env_grenadetrail, CGrenadeTrail);
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
// Output :
|
||||
//-----------------------------------------------------------------------------
|
||||
CGrenadeTrail::CGrenadeTrail()
|
||||
{
|
||||
m_SpawnRate = 10;
|
||||
m_ParticleLifetime = 5;
|
||||
m_StopEmitTime = 0; // Don't stop emitting particles
|
||||
m_bEmit = true;
|
||||
m_nAttachment = 0;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose :
|
||||
// Input :
|
||||
// Output :
|
||||
//-----------------------------------------------------------------------------
|
||||
void CGrenadeTrail::SetEmit(bool bVal)
|
||||
{
|
||||
m_bEmit = bVal;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
// Output : CGrenadeTrail*
|
||||
//-----------------------------------------------------------------------------
|
||||
CGrenadeTrail* CGrenadeTrail::CreateGrenadeTrail()
|
||||
{
|
||||
CBaseEntity *pEnt = CreateEntityByName(GRENADETRAIL_ENTITYNAME);
|
||||
if(pEnt)
|
||||
{
|
||||
CGrenadeTrail *pTrail = dynamic_cast<CGrenadeTrail*>(pEnt);
|
||||
if(pTrail)
|
||||
{
|
||||
pTrail->Activate();
|
||||
return pTrail;
|
||||
}
|
||||
else
|
||||
{
|
||||
UTIL_Remove(pEnt);
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Attach the smoke trail to an entity or point
|
||||
// Input : index - entity that has the attachment
|
||||
// attachment - point to attach to
|
||||
//-----------------------------------------------------------------------------
|
||||
void CGrenadeTrail::FollowEntity( CBaseEntity *pEntity, const char *pAttachmentName )
|
||||
{
|
||||
// For attachments
|
||||
if ( pAttachmentName && pEntity && pEntity->GetBaseAnimating() )
|
||||
{
|
||||
m_nAttachment = pEntity->GetBaseAnimating()->LookupAttachment( pAttachmentName );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_nAttachment = 0;
|
||||
}
|
||||
|
||||
BaseClass::FollowEntity( pEntity );
|
||||
}
|
||||
Reference in New Issue
Block a user