diff options
Diffstat (limited to 'game/client/tf2/c_effect_shootingstar.h')
| -rw-r--r-- | game/client/tf2/c_effect_shootingstar.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/game/client/tf2/c_effect_shootingstar.h b/game/client/tf2/c_effect_shootingstar.h new file mode 100644 index 0000000..a0f5671 --- /dev/null +++ b/game/client/tf2/c_effect_shootingstar.h @@ -0,0 +1,72 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Client's Meteor +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef C_EFFECT_SHOOTINGSTAR_H +#define C_EFFECT_SHOOTINGSTAR_H +#pragma once + +#include "c_baseanimating.h" +#include "particles_simple.h" + +class C_ShootingStar; + +//============================================================================= +// +// Client-side shooting star spawner. +// +class C_ShootingStarSpawner : public C_BaseEntity +{ + DECLARE_CLASS( C_ShootingStarSpawner, C_BaseEntity ); + +public: + + DECLARE_CLIENTCLASS(); + + C_ShootingStarSpawner(); + + void ClientThink( void ); + void SpawnShootingStars( void ); + +public: + + float m_flSpawnInterval; // How often do I spawn meteors? +}; + + +//============================================================================= +// +// Shooting Star Effect +// +class C_ShootingStar : public C_BaseAnimating, CSimpleEmitter +{ + DECLARE_CLASS( C_ShootingStar, C_BaseAnimating ); + +public: + + C_ShootingStar( ); + ~C_ShootingStar( void ); + + void Init( const Vector vecOrigin, const Vector vecVelocity, int nSize, float flLifeTime ); + void Destroy( void ); + + void Update( float timeDelta ); + +public: + + float m_flScale; + +private: + + void SetSortOrigin( const Vector &vSortOrigin ); + +private: + C_ShootingStar( const C_ShootingStar & ); + + CUtlVector<SimpleParticle*> m_aParticles; +}; + +#endif // C_EFFECT_SHOOTINGSTAR_H
\ No newline at end of file |