Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
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.

63 lines
1.4 KiB

5 years ago
//========= 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