This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/source2013/sdk/game/server/EntityParticleTrail.h
2020-08-04 13:13:01 -04:00

56 lines
1.8 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef ENTITYPARTICLETRAIL_H
#define ENTITYPARTICLETRAIL_H
#ifdef _WIN32
#pragma once
#endif
#include "baseparticleentity.h"
#include "entityparticletrail_shared.h"
//-----------------------------------------------------------------------------
// Spawns particles after the entity
//-----------------------------------------------------------------------------
class CEntityParticleTrail : public CBaseParticleEntity {
DECLARE_DATADESC();
DECLARE_CLASS(CEntityParticleTrail, CBaseParticleEntity);
DECLARE_SERVERCLASS();
public:
static CEntityParticleTrail *Create(CBaseEntity *pTarget,
const EntityParticleTrailInfo_t &info,
CBaseEntity *pConstraint);
static void Destroy(CBaseEntity *pTarget,
const EntityParticleTrailInfo_t &info);
void Spawn();
virtual void UpdateOnRemove();
// Force our constraint entity to be trasmitted
virtual void SetTransmit(CCheckTransmitInfo *pInfo, bool bAlways);
// Clean up when the entity goes away.
virtual void NotifySystemEvent(CBaseEntity *pNotify,
notify_system_event_t eventType,
const notify_system_event_params_t &params);
private:
void AttachToEntity(CBaseEntity *pTarget);
void IncrementRefCount();
void DecrementRefCount();
CNetworkVar(int, m_iMaterialName);
CNetworkVarEmbedded(EntityParticleTrailInfo_t, m_Info);
CNetworkHandle(CBaseEntity, m_hConstraintEntity);
int m_nRefCount;
};
#endif // ENTITYPARTICLETRAIL_H