//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //=============================================================================// #ifndef ENTITYDISSOLVE_H #define ENTITYDISSOLVE_H #ifdef _WIN32 #pragma once #endif class CEntityDissolve : public CBaseEntity { public: DECLARE_SERVERCLASS(); DECLARE_CLASS( CEntityDissolve, CBaseEntity ); CEntityDissolve( void ); ~CEntityDissolve( void ); static CEntityDissolve *Create( CBaseEntity *pTarget, const char *pMaterialName, float flStartTime, int nDissolveType = 0, bool *pRagdollCreated = NULL ); static CEntityDissolve *Create( CBaseEntity *pTarget, CBaseEntity *pSource ); void Precache(); void Spawn(); void AttachToEntity( CBaseEntity *pTarget ); void SetStartTime( float flStartTime ); void SetDissolverOrigin( Vector vOrigin ) { m_vDissolverOrigin = vOrigin; } void SetMagnitude( int iMagnitude ){ m_nMagnitude = iMagnitude; } void SetDissolveType( int iType ) { m_nDissolveType = iType; } Vector GetDissolverOrigin( void ) { Vector vReturn = m_vDissolverOrigin; return vReturn; } int GetMagnitude( void ) { return m_nMagnitude; } int GetDissolveType( void ) { return m_nDissolveType; } DECLARE_DATADESC(); CNetworkVar( float, m_flStartTime ); CNetworkVar( float, m_flFadeInStart ); CNetworkVar( float, m_flFadeInLength ); CNetworkVar( float, m_flFadeOutModelStart ); CNetworkVar( float, m_flFadeOutModelLength ); CNetworkVar( float, m_flFadeOutStart ); CNetworkVar( float, m_flFadeOutLength ); protected: void InputDissolve( inputdata_t &inputdata ); void DissolveThink( void ); void ElectrocuteThink( void ); CNetworkVar( int, m_nDissolveType ); CNetworkVector( m_vDissolverOrigin ); CNetworkVar( int, m_nMagnitude ); }; #endif // ENTITYDISSOLVE_H