You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.4 KiB
62 lines
1.4 KiB
//========= 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
|