source-engine/game/client/swarm/asw_marineandobjectenumerator.h
2023-10-03 17:23:56 +03:00

38 lines
888 B
C++

#ifndef _DEFINED_ASW_MARINEANDOBJECTENUMERATOR_H
#define _DEFINED_ASW_MARINEANDOBJECTENUMERATOR_H
#ifdef _WIN32
#pragma once
#endif
#include "UtlVector.h"
#include "ehandle.h"
#include "ISpatialPartition.h"
class C_BaseEntity;
class C_ASW_Player;
// Enumator class for finding other marines and objects close to the
// local player's marine
class CASW_MarineAndObjectEnumerator : public IPartitionEnumerator
{
DECLARE_CLASS_NOBASE( CASW_MarineAndObjectEnumerator );
public:
//Forced constructor
CASW_MarineAndObjectEnumerator( 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_ASW_Player *m_pLocal;
};
#endif // _DEFINED_ASW_MARINEANDOBJECTENUMERATOR_H