18#ifndef TRINITY_NGRID_H
19#define TRINITY_NGRID_H
28#define DEFAULT_VISIBILITY_NOTIFY_PERIOD 1000
34 GridInfo(time_t expiry,
bool unload =
true);
36 bool getUnloadLock()
const {
return i_unloadActiveLockCount || i_unloadExplicitLock; }
66class WORLD_OBJECT_TYPES,
67class GRID_OBJECT_TYPES
135 template<
class T,
class TT>
138 for (
uint32 x = 0; x < N; ++x)
139 for (
uint32 y = 0; y < N; ++y)
144 template<
class T,
class TT>
167 for (
uint32 x = 0; x < N; ++x)
168 for (
uint32 y = 0; y < N; ++y)
169 count +=
i_cells[x][y].
template GetWorldObjectCountInGrid<T>();
bool i_unloadExplicitLock
void decUnloadActiveLock()
TimeTracker const & getTimeTracker() const
PeriodicTimer & getRelocationTimer()
uint16 i_unloadActiveLockCount
void setTimer(TimeTracker const &pTimer)
void setUnloadExplicitLock(bool on)
bool getUnloadLock() const
void ResetTimeTracker(time_t interval)
void UpdateTimeTracker(time_t diff)
void incUnloadActiveLock()
void Visit(TypeContainerVisitor< T, TypeMapContainer< GRID_OBJECT_TYPES > > &visitor)
bool isGridObjectDataLoaded() const
TimeTracker const & getTimeTracker() const
GridReference< NGrid< N, ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES > > i_Reference
grid_state_t GetGridState(void) const
void ResetTimeTracker(time_t interval)
void decUnloadActiveLock()
void setGridObjectDataLoaded(bool pLoaded)
uint32 GetGridId(void) const
uint32 GetWorldObjectCountInNGrid() const
void SetGridState(grid_state_t s)
bool i_GridObjectDataLoaded
void setUnloadExplicitLock(bool on)
GridType & GetGridType(const uint32 x, const uint32 y)
void incUnloadActiveLock()
GridInfo * getGridInfoRef()
void VisitGrid(const uint32 x, const uint32 y, TypeContainerVisitor< T, TypeMapContainer< TT > > &visitor)
Grid< ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES > GridType
NGrid(uint32 id, int32 x, int32 y, time_t expiry, bool unload=true)
void UpdateTimeTracker(time_t diff)
GridType const & GetGridType(const uint32 x, const uint32 y) const
bool getUnloadLock() const
void link(GridRefManager< NGrid< N, ACTIVE_OBJECT, WORLD_OBJECT_TYPES, GRID_OBJECT_TYPES > > *pTo)
void VisitAllGrids(TypeContainerVisitor< T, TypeMapContainer< TT > > &visitor)
void link(TO *toObj, FROM *fromObj)