Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright � 1996-2005, 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;
// Cached info for networked entities.
// NOTE: Changing this changes the interface between engine & client
struct EntityCacheInfo_t { // Cached off because GetClientNetworkable is called a *lot*
IClientNetworkable *m_pNetworkable; unsigned short m_BaseEntitiesIndex; // Index into m_BaseEntities (or m_BaseEntities.InvalidIndex() if none).
unsigned short m_bDormant; // cached dormant state - this is only a bit
};
//-----------------------------------------------------------------------------
// 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; virtual EntityCacheInfo_t *GetClientNetworkableArray() = 0; };
extern IClientEntityList *entitylist;
#define VCLIENTENTITYLIST_INTERFACE_VERSION "VClientEntityList003"
#endif // ICLIENTENTITYLIST_H
|