diff options
Diffstat (limited to 'game/shared/tf/tf_halloween_souls_pickup.h')
| -rw-r--r-- | game/shared/tf/tf_halloween_souls_pickup.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/game/shared/tf/tf_halloween_souls_pickup.h b/game/shared/tf/tf_halloween_souls_pickup.h new file mode 100644 index 0000000..5c97e06 --- /dev/null +++ b/game/shared/tf/tf_halloween_souls_pickup.h @@ -0,0 +1,62 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: CTF AmmoPack. +// +//=============================================================================// +#ifndef TF_HALLOWEEN_SOULS_PICUP_H +#define TF_HALLOWEEN_SOULS_PICUP_H + + + +#ifdef _WIN32 +#pragma once +#endif + +#ifdef CLIENT_DLL + #define CHalloweenSoulPack C_HalloweenSoulPack +#endif + + +class CHalloweenSoulPack : public CBaseEntity +{ +public: + DECLARE_CLASS( CHalloweenSoulPack, CBaseEntity ) + + DECLARE_NETWORKCLASS(); + DECLARE_PREDICTABLE(); + + CHalloweenSoulPack(); + ~CHalloweenSoulPack(); + + virtual void Spawn() OVERRIDE; + virtual void Precache() OVERRIDE; + +#ifdef GAME_DLL + void SetAmount( int nAmount ) { m_nAmount = nAmount; } + void SetFlyDuration( float flDuration ) { m_flDuration = flDuration; } + void SetTarget( CBaseEntity *pTarget ) { m_hTarget = pTarget; } + void ItemTouch( CBaseEntity *pOther ); + virtual int UpdateTransmitState() OVERRIDE; +#else + virtual void OnDataChanged( DataUpdateType_t type ) OVERRIDE; + virtual void ClientThink() OVERRIDE; +#endif +private: + void FlyThink( void ); + void FlyTowardsTargetEntity( void ); + void InitSplineData( void ); + +#ifdef GAME_DLL + int m_nAmount; + const char *m_pszParticleName; +#endif + CNetworkHandle( CBaseEntity, m_hTarget ); + float m_flCreationTime; + + CNetworkVector( m_vecPreCurvePos ); + CNetworkVector( m_vecStartCurvePos ); + CNetworkVar( float, m_flDuration ); +}; + + +#endif // TF_HALLOWEEN_SOULS_PICUP_H |