diff options
Diffstat (limited to 'public/icliententitylist.h')
| -rw-r--r-- | public/icliententitylist.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/public/icliententitylist.h b/public/icliententitylist.h new file mode 100644 index 0000000..1e0e258 --- /dev/null +++ b/public/icliententitylist.h @@ -0,0 +1,56 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $Workfile: $ +// $Date: $ +// $NoKeywords: $ +//=============================================================================// +#if !defined( ICLIENTENTITYLIST_H ) +#define ICLIENTENTITYLIST_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "interface.h" + +class IClientEntity; +class ClientClass; +class IClientNetworkable; +class CBaseHandle; +class IClientUnknown; + + +//----------------------------------------------------------------------------- +// Purpose: Exposes IClientEntity's to engine +//----------------------------------------------------------------------------- +abstract_class IClientEntityList +{ +public: + // Get IClientNetworkable interface for specified entity + virtual IClientNetworkable* GetClientNetworkable( int entnum ) = 0; + virtual IClientNetworkable* GetClientNetworkableFromHandle( CBaseHandle hEnt ) = 0; + virtual IClientUnknown* GetClientUnknownFromHandle( CBaseHandle hEnt ) = 0; + + // NOTE: This function is only a convenience wrapper. + // It returns GetClientNetworkable( entnum )->GetIClientEntity(). + virtual IClientEntity* GetClientEntity( int entnum ) = 0; + virtual IClientEntity* GetClientEntityFromHandle( CBaseHandle hEnt ) = 0; + + // Returns number of entities currently in use + virtual int NumberOfEntities( bool bIncludeNonNetworkable ) = 0; + + // Returns highest index actually used + virtual int GetHighestEntityIndex( void ) = 0; + + // Sizes entity list to specified size + virtual void SetMaxEntities( int maxents ) = 0; + virtual int GetMaxEntities( ) = 0; +}; + +extern IClientEntityList *entitylist; + +#define VCLIENTENTITYLIST_INTERFACE_VERSION "VClientEntityList003" + +#endif // ICLIENTENTITYLIST_H |