AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES > Class Template Reference

#include "GridCell.h"

Public Member Functions

 ~GridCell ()=default
 
template<class SPECIFIC_OBJECT >
void AddGridObject (SPECIFIC_OBJECT *obj)
 
template<class T >
void Visit (TypeContainerVisitor< T, TypeMapContainer< GRID_OBJECT_TYPES > > &visitor)
 
template<class SPECIFIC_OBJECT >
void AddFarVisibleObject (SPECIFIC_OBJECT *obj)
 
template<class SPECIFIC_OBJECT >
void RemoveFarVisibleObject (SPECIFIC_OBJECT *obj)
 
template<class T >
void Visit (TypeContainerVisitor< T, TypeVectorContainer< FAR_VISIBLE_OBJECT_TYPES > > &visitor)
 

Private Attributes

TypeMapContainer< GRID_OBJECT_TYPES > _gridObjects
 
TypeVectorContainer< FAR_VISIBLE_OBJECT_TYPES > _farVisibleObjects
 

Detailed Description

template<class GRID_OBJECT_TYPES, class FAR_VISIBLE_OBJECT_TYPES>
class GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >

Constructor & Destructor Documentation

◆ ~GridCell()

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::~GridCell ( )
default

Member Function Documentation

◆ AddFarVisibleObject()

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
template<class SPECIFIC_OBJECT >
void GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::AddFarVisibleObject ( SPECIFIC_OBJECT *  obj)
inline
64 {
65 _farVisibleObjects.template Insert<SPECIFIC_OBJECT>(obj);
66 }
TypeVectorContainer< FAR_VISIBLE_OBJECT_TYPES > _farVisibleObjects
Definition GridCell.h:83

References GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::_farVisibleObjects.

Referenced by MapGrid< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::AddFarVisibleObject().

◆ AddGridObject()

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
template<class SPECIFIC_OBJECT >
void GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::AddGridObject ( SPECIFIC_OBJECT *  obj)
inline
50 {
51 _gridObjects.template insert<SPECIFIC_OBJECT>(obj);
52 ASSERT(obj->IsInGrid());
53 }
#define ASSERT
Definition Errors.h:68
TypeMapContainer< GRID_OBJECT_TYPES > _gridObjects
Definition GridCell.h:82

References GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::_gridObjects, and ASSERT.

Referenced by MapGrid< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::AddGridObject().

◆ RemoveFarVisibleObject()

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
template<class SPECIFIC_OBJECT >
void GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::RemoveFarVisibleObject ( SPECIFIC_OBJECT *  obj)
inline

◆ Visit() [1/2]

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
template<class T >
void GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::Visit ( TypeContainerVisitor< T, TypeMapContainer< GRID_OBJECT_TYPES > > &  visitor)
inline
58 {
59 visitor.Visit(_gridObjects);
60 }
void Visit(TYPE_CONTAINER &c)
Definition TypeContainerVisitor.h:109

References GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::_gridObjects.

Referenced by MapGrid< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::VisitCell().

◆ Visit() [2/2]

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
template<class T >
void GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::Visit ( TypeContainerVisitor< T, TypeVectorContainer< FAR_VISIBLE_OBJECT_TYPES > > &  visitor)
inline

Member Data Documentation

◆ _farVisibleObjects

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
TypeVectorContainer<FAR_VISIBLE_OBJECT_TYPES> GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::_farVisibleObjects
private

◆ _gridObjects

template<class GRID_OBJECT_TYPES , class FAR_VISIBLE_OBJECT_TYPES >
TypeMapContainer<GRID_OBJECT_TYPES> GridCell< GRID_OBJECT_TYPES, FAR_VISIBLE_OBJECT_TYPES >::_gridObjects
private

The documentation for this class was generated from the following file: