18#ifndef TRINITY_CELLIMPL_H
19#define TRINITY_CELLIMPL_H
49template<
class T,
class CONTAINER>
57template<
class T,
class CONTAINER>
68 map.
Visit(*
this, visitor);
80 map.
Visit(*
this, visitor);
96 map.
Visit(*
this, visitor);
105 if (cellCoord != standing_cell)
107 Cell r_zone(cellCoord);
109 map.
Visit(r_zone, visitor);
115template<
class T,
class CONTAINER>
125 for (
uint32 x = x_start; x <= x_end; ++x)
130 Cell r_zone(cellCoord);
132 map.
Visit(r_zone, visitor);
144 for (
uint32 step = 1; step <= (x_start - begin_cell.
x_coord); ++step)
149 for (
uint32 y = y_start; y >= y_end; --y)
153 CellCoord cellCoord_left(x_start - step, y);
154 Cell r_zone_left(cellCoord_left);
156 map.
Visit(r_zone_left, visitor);
159 CellCoord cellCoord_right(x_end + step, y);
160 Cell r_zone_right(cellCoord_right);
162 map.
Visit(r_zone_right, visitor);
176 cell.
Visit(p, gnotifier, *center_obj->
GetMap(), *center_obj, radius);
188 cell.
Visit(p, wnotifier, *center_obj->
GetMap(), *center_obj, radius);
200 cell.
Visit(p, wnotifier, *center_obj->
GetMap(), *center_obj, radius);
202 cell.
Visit(p, gnotifier, *center_obj->
GetMap(), *center_obj, radius);
214 cell.
Visit(p, gnotifier, *map, x, y, radius);
226 cell.
Visit(p, wnotifier, *map, x, y, radius);
238 cell.
Visit(p, wnotifier, *map, x, y, radius);
240 cell.
Visit(p, gnotifier, *map, x, y, radius);
#define MAX_NUMBER_OF_CELLS
void Visit(Cell const &cell, TypeContainerVisitor< T, CONTAINER > &visitor)
virtual float GetCombatReach() const
CellCoord ComputeCellCoord(float x, float y)
static void VisitAllObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
static void VisitGridObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
struct Cell::@256::@257 Part
static void VisitWorldObjects(WorldObject const *obj, T &visitor, float radius, bool dont_load=true)
void VisitCircle(TypeContainerVisitor< T, CONTAINER > &, Map &, CellCoord const &, CellCoord const &) const
void Visit(CellCoord const &, TypeContainerVisitor< T, CONTAINER > &visitor, Map &, WorldObject const &obj, float radius) const
static CellArea CalculateCellArea(float x, float y, float radius)
bool IsCoordValid() const
float GetPositionX() const
float GetPositionY() const