18#ifndef TRINITY_GRIDNOTIFIERSIMPL_H
19#define TRINITY_GRIDNOTIFIERSIMPL_H
35 vis_guids.erase(iter->GetSource()->GetGUID());
44template <
class Check,
class Result>
56 if (i_check(ref.GetSource()))
58 this->
Insert(ref.GetSource());
68template <
class Check,
class Result>
76 if (!ref.GetSource()->InSamePhase(i_phaseMask))
79 if (i_check(ref.GetSource()))
81 this->
Insert(ref.GetSource());
91template <
class Check,
class Result>
100 if (!ref.GetSource()->InSamePhase(i_phaseMask))
103 if (i_check(ref.GetSource()))
105 this->
Insert(ref.GetSource());
115template <
class Check,
class Result>
123 if (!ref.GetSource()->InSamePhase(i_phaseMask))
126 if (i_check(ref.GetSource()))
128 this->
Insert(ref.GetSource());
138template <
class Check,
class Result>
146 if (!ref.GetSource()->InSamePhase(i_phaseMask))
149 if (i_check(ref.GetSource()))
151 this->
Insert(ref.GetSource());
159template<
class Builder>
163 uint32 cache_idx = loc_idx+1;
167 if (i_data_cache.size() < cache_idx + 1 || !i_data_cache[cache_idx])
169 if (i_data_cache.size() < cache_idx + 1)
170 i_data_cache.
resize(cache_idx + 1);
174 i_builder(*data, loc_idx);
176 i_data_cache[cache_idx] = data;
179 data = i_data_cache[cache_idx];
184template<
class Builder>
188 uint32 cache_idx = loc_idx+1;
192 if (i_data_cache.size() < cache_idx+1 || i_data_cache[cache_idx].empty())
194 if (i_data_cache.size() < cache_idx+1)
195 i_data_cache.resize(cache_idx+1);
197 data_list = &i_data_cache[cache_idx];
199 i_builder(*data_list, loc_idx);
202 data_list = &i_data_cache[cache_idx];
204 for (
size_t i = 0; i < data_list->size(); ++i)
void resize(size_t newsize)
void SendDirectMessage(WorldPacket const *data) const
void UpdateVisibilityOf(WorldObject *target)
WorldSession * GetSession() const
void operator()(Player *p)
std::vector< WorldPacket * > WorldPacketList
void operator()(Player *p)
LocaleConstant GetSessionDbLocaleIndex() const
bool Insert(ContainerUnorderedMap< TypeList< H, T >, KEY_TYPE > &elements, KEY_TYPE const &handle, SPECIFIC_TYPE *obj)
void Visit(CreatureMapType &m)
void Visit(GameObjectMapType &m)
void Visit(PlayerMapType &m)
void VisitImpl(GridRefManager< T > &m)
GuidUnorderedSet vis_guids
void Visit(GridRefManager< T > &m)
std::set< Unit * > i_visibleNow
void Visit(GridRefManager< T > &)