Seaside/SpyCustom/c_basetempentity.h
2021-06-16 16:08:23 +03:00

98 lines
2.7 KiB
C++

#ifndef C_BASETEMPENTITY_H
#define C_BASETEMPENTITY_H
#ifdef _WIN32
#pragma once
#endif
#include "client_class.h"
#include "iclientnetworkable.h"
#include "c_recipientfilter.h"
class C_BaseTempEntity : public IClientUnknown, public IClientNetworkable
{
public:
DECLARE_CLASS_NOBASE(C_BaseTempEntity);
DECLARE_CLIENTCLASS();
C_BaseTempEntity(void);
virtual ~C_BaseTempEntity(void);
public:
virtual void SetRefEHandle(const CBaseHandle& handle) { Assert(false); }
virtual const CBaseHandle& GetRefEHandle() const { return *((CBaseHandle*)0); }
virtual IClientUnknown* GetIClientUnknown() { return this; }
virtual ICollideable* GetCollideable() { return 0; }
virtual IClientNetworkable* GetClientNetworkable() { return this; }
virtual IClientRenderable* GetClientRenderable() { return 0; }
virtual IClientEntity* GetIClientEntity() { return 0; }
virtual C_BaseEntity* GetBaseEntity() { return 0; }
virtual IClientThinkable* GetClientThinkable() { return 0; }
virtual IClientModelRenderable* GetClientModelRenderable() { return 0; }
virtual IClientAlphaProperty* GetClientAlphaProperty() { return 0; }
public:
virtual void Release();
virtual void NotifyShouldTransmit(ShouldTransmitState_t state);
virtual void PreDataUpdate(DataUpdateType_t updateType);
virtual void PostDataUpdate(DataUpdateType_t updateType);
virtual void OnPreDataChanged(DataUpdateType_t updateType);
virtual void OnDataChanged(DataUpdateType_t updateType);
virtual void SetDormant(bool bDormant);
virtual bool IsDormant(void);
virtual int entindex(void) const;
virtual void ReceiveMessage(int classID, bf_read& msg);
virtual void* GetDataTableBasePtr();
virtual void SetDestroyedOnRecreateEntities(void);
public:
void NetworkStateChanged() {}
void NetworkStateChanged(void* pVar) {}
virtual bool Init(int entnum, int iSerialNum);
virtual void Precache(void);
virtual bool ShouldDestroy(void) { return false; };
C_BaseTempEntity* GetNext(void);
static C_BaseTempEntity* GetList(void);
C_BaseTempEntity* GetNextDynamic(void);
void GetColorModulation(float* color)
{
assert(color);
color[0] = color[1] = color[2] = 1.0f;
}
virtual bool ShouldReceiveProjectedTextures(int flags) { return false; }
public:
static C_BaseTempEntity* GetDynamicList();
static void PrecacheTempEnts(void);
static void ClearDynamicTempEnts(void);
static void CheckDynamicTempEnts(void);
private:
C_BaseTempEntity* m_pNext;
C_BaseTempEntity* m_pNextDynamic;
static C_BaseTempEntity* s_pTempEntities;
static C_BaseTempEntity* s_pDynamicEntities;
};
#endif