18#ifndef TRINITY_CELLIMPL_H
19#define TRINITY_CELLIMPL_H
31 data.Part.nocreate = 0;
32 data.Part.reserved = 0;
42 data.Part.nocreate = 0;
43 data.Part.reserved = 0;
60template<
class T,
class CONTAINER>
68template<
class T,
class CONTAINER>
79 map.
Visit(*
this, visitor);
91 map.
Visit(*
this, visitor);
107 map.
Visit(*
this, visitor);
116 if (cellCoord != standing_cell)
118 Cell r_zone(cellCoord);
120 map.
Visit(r_zone, visitor);
126template<
class T,
class CONTAINER>
136 for (
uint32 x = x_start; x <= x_end; ++x)
141 Cell r_zone(cellCoord);
143 map.
Visit(r_zone, visitor);
155 for (
uint32 step = 1; step <= (x_start - begin_cell.
x_coord); ++step)
160 for (
uint32 y = y_start; y >= y_end; --y)
164 CellCoord cellCoord_left(x_start - step, y);
165 Cell r_zone_left(cellCoord_left);
167 map.
Visit(r_zone_left, visitor);
170 CellCoord cellCoord_right(x_end + step, y);
171 Cell r_zone_right(cellCoord_right);
173 map.
Visit(r_zone_right, visitor);
187 cell.
Visit(p, gnotifier, *center_obj->
GetMap(), *center_obj, radius);
199 cell.
Visit(p, gnotifier, *center_obj->
GetMap(), *center_obj, radius);
211 cell.
Visit(p, wnotifier, *center_obj->
GetMap(), *center_obj, radius);
213 cell.
Visit(p, gnotifier, *center_obj->
GetMap(), *center_obj, radius);
225 cell.
Visit(p, gnotifier, *map, x, y, radius);
237 cell.
Visit(p, gnotifier, *map, x, y, radius);
249 cell.
Visit(p, wnotifier, *map, x, y, radius);
251 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)
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)
struct Cell::@303::@304 Part
bool IsCoordValid() const
constexpr float GetPositionX() const
constexpr float GetPositionY() const