mirror of
https://github.com/0TheSpy/Seaside.git
synced 2025-01-09 19:08:48 +08:00
98 lines
2.7 KiB
C++
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 |