Files
funnygame/game/client/entitysystem.h
2026-03-02 17:32:22 +02:00

41 lines
967 B
C++

//================= Copyright kotofyt, All rights reserved ==================//
//
// Purpose:
//
//===========================================================================//
#ifndef ENTITIES_H
#define ENTITIES_H
#include "stdint.h"
class IEntityFactory;
class C_BaseEntity;
#define MAX_EDICTS 8192
class CEntitySystem
{
public:
CEntitySystem();
virtual void RegisterEntityClass( IEntityFactory *pEntityFactory, const char *szClassName );
virtual C_BaseEntity *CreateByClassname( const char *szName );
virtual C_BaseEntity *CreateByClassnameWithIndex( const char *szName, uint32_t uIndex );
virtual IEntityFactory *GetFactoryByClassname( const char *szName );
virtual void DestroyEntityByIndex( uint32_t uIndex );
virtual void DestroyEntityByPtr( C_BaseEntity *pEntity );
virtual void Think();
virtual C_BaseEntity **GetEntities();
private:
C_BaseEntity *m_pEntities[MAX_EDICTS];
int m_nEntityCount;
};
CEntitySystem *EntitySystem();
#endif