diff options
Diffstat (limited to 'game/client/playerandobjectenumerator.h')
| -rw-r--r-- | game/client/playerandobjectenumerator.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/game/client/playerandobjectenumerator.h b/game/client/playerandobjectenumerator.h new file mode 100644 index 0000000..0f6fa2d --- /dev/null +++ b/game/client/playerandobjectenumerator.h @@ -0,0 +1,44 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef PLAYERANDOBJECTENUMERATOR_H +#define PLAYERANDOBJECTENUMERATOR_H +#ifdef _WIN32 +#pragma once +#endif + +#include "utlvector.h" +#include "ehandle.h" +#include "ispatialpartition.h" + +class C_BaseEntity; +class C_BasePlayer; + +// Enumator class for finding other players and objects close to the +// local player +class CPlayerAndObjectEnumerator : public IPartitionEnumerator +{ + DECLARE_CLASS_NOBASE( CPlayerAndObjectEnumerator ); +public: + //Forced constructor + CPlayerAndObjectEnumerator( float radius ); + + //Actual work code + virtual IterationRetval_t EnumElement( IHandleEntity *pHandleEntity ); + + int GetObjectCount(); + C_BaseEntity *GetObject( int index ); + +public: + //Data members + float m_flRadiusSquared; + + CUtlVector< CHandle< C_BaseEntity > > m_Objects; + C_BasePlayer *m_pLocal; +}; + +#endif // PLAYERANDOBJECTENUMERATOR_H |