41 lines
972 B
C++
41 lines
972 B
C++
//================= Copyright kotofyt, All rights reserved ==================//
|
|
//
|
|
// Purpose:
|
|
//
|
|
//===========================================================================//
|
|
|
|
#ifndef ENTITIES_H
|
|
#define ENTITIES_H
|
|
|
|
#include "networkbase.h"
|
|
|
|
class IEntityFactory;
|
|
class CBaseEntity;
|
|
|
|
#define MAX_EDICTS 8192
|
|
|
|
class CEntitySystem
|
|
{
|
|
public:
|
|
CEntitySystem();
|
|
|
|
virtual void RegisterEntityClass( IEntityFactory *pEntityFactory, const char *szClassName );
|
|
virtual CBaseEntity *CreateByClassname( const char *szName, int *pOutputIndex );
|
|
|
|
virtual IEntityFactory *GetFactoryByClassname( const char *szName );
|
|
|
|
virtual void Think();
|
|
virtual CBaseEntity **GetEntities();
|
|
|
|
virtual void NetRecvPacket( NetPacket_t *pPacket );
|
|
virtual void NetSendThink( INetworkBase *pBase );
|
|
virtual void SetAllowedEntityForPlayer( uint64_t ullPlayer, CBaseEntity *pEntity );
|
|
private:
|
|
CBaseEntity *m_pEntities[MAX_EDICTS];
|
|
int m_nEntityCount;
|
|
};
|
|
|
|
CEntitySystem *EntitySystem();
|
|
|
|
#endif
|