64 lines
1.9 KiB
C++
64 lines
1.9 KiB
C++
//========= 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
|