virtual void GetPerceived( const IGameObject* pPerceiver, IAUDynArray<ObjectId>& objects ) const { objects.Clear(); AUVec3f center = pPerceiver->GetEntity()->GetPosition(); m_workingData.clear(); // Fill working array with results for (int i=0; i<EGO_COUNT; ++i) { float radius = m_pGlobalParameters->go[pPerceiver->GetGameObjectType()].perceptionDist[i]; DoGetPerceived( m_Objects[i], pPerceiver, center, radius ); } DoAddToArray(objects); }
virtual void GetPerceived( const IGameObject* pPerceiver, EGameObject perceivedType, IAUDynArray<ObjectId>& objects ) const { objects.Clear(); DoAddPerceived( pPerceiver, perceivedType, objects ); }