This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
nekohook/modules/source2013/sdk/public/icliententitylist.h
2020-08-04 13:13:01 -04:00

56 lines
1.7 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $Workfile: $
// $Date: $
// $NoKeywords: $
//=============================================================================//
#if !defined(ICLIENTENTITYLIST_H)
#define ICLIENTENTITYLIST_H
#ifdef _WIN32
#pragma once
#endif
#include "tier1/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