mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-18 22:41:58 +00:00
add hl1,portal,dod source code
This commit is contained in:
@@ -0,0 +1,100 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//=============================================================================//
|
||||
// This defines the client-side SmokeTrail entity. It can also be used without
|
||||
// an entity, in which case you must pass calls to it and set its position each frame.
|
||||
|
||||
#ifndef PARTICLE_SMOKETRAIL_H
|
||||
#define PARTICLE_SMOKETRAIL_H
|
||||
|
||||
#include "particlemgr.h"
|
||||
#include "particle_prototype.h"
|
||||
#include "particle_util.h"
|
||||
#include "particles_simple.h"
|
||||
#include "c_baseentity.h"
|
||||
#include "baseparticleentity.h"
|
||||
|
||||
#include "fx_trail.h"
|
||||
|
||||
//
|
||||
// Smoke Trail
|
||||
//
|
||||
|
||||
class C_GrenadeTrail : public C_BaseParticleEntity, public IPrototypeAppEffect
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS( C_GrenadeTrail, C_BaseParticleEntity );
|
||||
DECLARE_CLIENTCLASS();
|
||||
|
||||
C_GrenadeTrail();
|
||||
virtual ~C_GrenadeTrail();
|
||||
|
||||
public:
|
||||
|
||||
//For attachments
|
||||
void GetAimEntOrigin( IClientEntity *pAttachedTo, Vector *pAbsOrigin, QAngle *pAbsAngles );
|
||||
|
||||
// Enable/disable emission.
|
||||
void SetEmit(bool bEmit);
|
||||
|
||||
// Change the spawn rate.
|
||||
void SetSpawnRate(float rate);
|
||||
|
||||
// C_BaseEntity.
|
||||
public:
|
||||
virtual void OnDataChanged(DataUpdateType_t updateType);
|
||||
|
||||
// IPrototypeAppEffect.
|
||||
public:
|
||||
virtual void Start(CParticleMgr *pParticleMgr, IPrototypeArgAccess *pArgs);
|
||||
|
||||
// IParticleEffect.
|
||||
public:
|
||||
virtual void Update(float fTimeDelta);
|
||||
virtual void RenderParticles( CParticleRenderIterator *pIterator );
|
||||
virtual void SimulateParticles( CParticleSimulateIterator *pIterator );
|
||||
|
||||
|
||||
public:
|
||||
// Effect parameters. These will assume default values but you can change them.
|
||||
float m_SpawnRate; // How many particles per second.
|
||||
|
||||
Vector m_StartColor; // Fade between these colors.
|
||||
Vector m_EndColor;
|
||||
float m_Opacity;
|
||||
|
||||
float m_ParticleLifetime; // How long do the particles live?
|
||||
float m_StopEmitTime; // When do I stop emitting particles? (-1 = never)
|
||||
|
||||
float m_MinSpeed; // Speed range.
|
||||
float m_MaxSpeed;
|
||||
|
||||
float m_MinDirectedSpeed; // Directed speed range.
|
||||
float m_MaxDirectedSpeed;
|
||||
|
||||
float m_StartSize; // Size ramp.
|
||||
float m_EndSize;
|
||||
|
||||
float m_SpawnRadius;
|
||||
|
||||
Vector m_VelocityOffset; // Emit the particles in a certain direction.
|
||||
|
||||
bool m_bEmit; // Keep emitting particles?
|
||||
|
||||
int m_nAttachment;
|
||||
|
||||
private:
|
||||
PMaterialHandle m_MaterialHandle[2];
|
||||
TimedEvent m_ParticleSpawn;
|
||||
|
||||
CParticleMgr *m_pParticleMgr;
|
||||
CSmartPtr<CSimpleEmitter> m_pSmokeEmitter;
|
||||
|
||||
C_GrenadeTrail( const C_GrenadeTrail & );
|
||||
};
|
||||
|
||||
#endif //PARTICLE_SMOKETRAIL_H
|
||||
Reference in New Issue
Block a user