mirror of
https://github.com/nillerusr/source-engine.git
synced 2025-01-07 16:06:41 +00:00
74 lines
2.8 KiB
C++
74 lines
2.8 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
//=============================================================================//
|
|
|
|
#ifndef ENV_OBJECTEFFECTS_H
|
|
#define ENV_OBJECTEFFECTS_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Object smoke particles. They float upward.
|
|
//-----------------------------------------------------------------------------
|
|
class ObjectSmokeParticle : public SimpleParticle
|
|
{
|
|
public:
|
|
Vector m_vecAcceleration;
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Object smoke particle emitter.
|
|
//-----------------------------------------------------------------------------
|
|
class CObjectSmokeParticles : public CSimpleEmitter
|
|
{
|
|
public:
|
|
|
|
CObjectSmokeParticles( const char *pDebugName ) : CSimpleEmitter( pDebugName ) {}
|
|
static CSmartPtr<CObjectSmokeParticles> Create( const char *pDebugName ) {return new CObjectSmokeParticles( pDebugName );}
|
|
|
|
virtual void SimulateParticles( CParticleSimulateIterator *pIterator );
|
|
virtual void RenderParticles( CParticleRenderIterator *pIterator );
|
|
|
|
//Setup for point emission
|
|
virtual void Setup( const Vector &origin, const Vector *direction, float angularSpread, float minSpeed, float maxSpeed, float gravity, float dampen, int flags = 0 );
|
|
|
|
CParticleCollision m_ParticleCollision;
|
|
|
|
private:
|
|
CObjectSmokeParticles( const CObjectSmokeParticles & ); // not defined, not accessible
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Object fire particles. They know how to attach themselves to heirarchy.
|
|
//-----------------------------------------------------------------------------
|
|
class ObjectFireParticle : public SimpleParticle
|
|
{
|
|
public:
|
|
EHANDLE m_hParent;
|
|
int m_iAttachmentPoint;
|
|
};
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Purpose: Object smoke particle emitter.
|
|
//-----------------------------------------------------------------------------
|
|
class CObjectFireParticles : public CSimpleEmitter
|
|
{
|
|
public:
|
|
CObjectFireParticles( const char *pDebugName ) : CSimpleEmitter( pDebugName ) {}
|
|
static CSmartPtr<CObjectFireParticles> Create( const char *pDebugName ) {return new CObjectFireParticles( pDebugName );}
|
|
|
|
virtual void SimulateParticles( CParticleSimulateIterator *pIterator );
|
|
virtual void RenderParticles( CParticleRenderIterator *pIterator );
|
|
|
|
//Setup for point emission
|
|
virtual void Setup( const Vector &origin, const Vector *direction, float angularSpread, float minSpeed, float maxSpeed, float gravity, float dampen, int flags = 0 );
|
|
|
|
private:
|
|
CObjectFireParticles( const CObjectFireParticles & ); // not defined, not accessible
|
|
};
|
|
|
|
#endif // ENV_OBJECTEFFECTS_H
|