diff --git a/src/server/game/Grids/Notifiers/GridNotifiers.h b/src/server/game/Grids/Notifiers/GridNotifiers.h index 6e213f91c201f..7554046182403 100644 --- a/src/server/game/Grids/Notifiers/GridNotifiers.h +++ b/src/server/game/Grids/Notifiers/GridNotifiers.h @@ -1897,7 +1897,7 @@ namespace Trinity template class LocalizedDo { - using LocalizedAction = std::remove_pointer_t()(LocaleConstant{}))>; + using LocalizedAction = std::remove_pointer_t()(LocaleConstant{})) > ; public: explicit LocalizedDo(Localizer& localizer) : _localizer(localizer) { } @@ -1909,27 +1909,7 @@ namespace Trinity std::vector> _localizedCache; // 0 = default, i => i-1 locale index }; - // AttackableUnitInObjectRangeCheck - class AttackableUnitInObjectRangeCheck - { - public: - AttackableUnitInObjectRangeCheck(WorldObject const* obj, float range, bool check3D = true) : i_obj(obj), i_range(range), i_check3D(check3D) { } - - bool operator()(Unit* u) const - { - if (i_obj->IsUnit()) - if (u->IsAlive() && i_obj->IsWithinDistInMap(u, i_range, i_check3D) && i_obj->ToUnit()->IsValidAttackTarget(u)) - return true; - - return false; - } - - private: - WorldObject const* i_obj; - float i_range; - bool i_check3D; - }; - + // AreaTriggers searchers class AnyAreatriggerInObjectRangeCheck { public: @@ -1970,45 +1950,66 @@ namespace Trinity }; template - struct AreaTriggerListSearcher + struct AreaTriggerListSearcherC { WorldObject const* i_searcher; std::list& m_AreaTriggers; Check& i_check; - AreaTriggerListSearcher(WorldObject const* searcher, std::list& areaTriggers, Check& check) + AreaTriggerListSearcherC(WorldObject const* searcher, std::list& areaTriggers, Check& check) : i_searcher(searcher), m_AreaTriggers(areaTriggers), i_check(check) {} - void Visit(AreaTriggerMapType& p_AreaTriggerMap); + void VisitC(AreaTriggerMapType& p_AreaTriggerMap); - template void Visit(GridRefManager&) {} + template void VisitC(GridRefManager&) {} }; template - struct AreaTriggerSearcher + struct AreaTriggerSearcherC { WorldObject const* i_searcher; AreaTrigger*& i_object; Check& i_check; - AreaTriggerSearcher(WorldObject const* searcher, AreaTrigger*& result, Check& check) + AreaTriggerSearcherC(WorldObject const* searcher, AreaTrigger*& result, Check& check) : i_searcher(searcher), i_object(result), i_check(check) {} - void Visit(AreaTriggerMapType& m); + void VisitC(AreaTriggerMapType& m); - template void Visit(GridRefManager&) {} + template void VisitC(GridRefManager&) {} }; template - inline void AreaTriggerSearcher::Visit(AreaTriggerMapType&) + inline void AreaTriggerSearcherC::VisitC(AreaTriggerMapType&) { } template - inline void AreaTriggerListSearcher::Visit(AreaTriggerMapType&) + inline void AreaTriggerListSearcherC::VisitC(AreaTriggerMapType&) { } + // AttackableUnitInObjectRangeCheck + class AttackableUnitInObjectRangeCheck + { + public: + AttackableUnitInObjectRangeCheck(WorldObject const* obj, float range, bool check3D = true) : i_obj(obj), i_range(range), i_check3D(check3D) { } + + bool operator()(Unit* u) const + { + if (i_obj->IsUnit()) + if (u->IsAlive() && i_obj->IsWithinDistInMap(u, i_range, i_check3D) && i_obj->ToUnit()->IsValidAttackTarget(u)) + return true; + + return false; + } + + private: + WorldObject const* i_obj; + float i_range; + bool i_check3D; + }; + // AllCreaturesInRange class AllCreaturesInRange {