This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

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