AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Acore::LocalizedPacketListDo< Builder > Class Template Reference

#include "GridNotifiers.h"

Public Types

typedef std::vector< WorldPacket * > WorldPacketList
 

Public Member Functions

 LocalizedPacketListDo (Builder &builder)
 
 ~LocalizedPacketListDo ()
 
void operator() (Player *p)
 

Private Attributes

Builder & i_builder
 
std::vector< WorldPacketListi_data_cache
 

Detailed Description

template<class Builder>
class Acore::LocalizedPacketListDo< Builder >

Member Typedef Documentation

◆ WorldPacketList

template<class Builder >
typedef std::vector<WorldPacket*> Acore::LocalizedPacketListDo< Builder >::WorldPacketList

Constructor & Destructor Documentation

◆ LocalizedPacketListDo()

template<class Builder >
Acore::LocalizedPacketListDo< Builder >::LocalizedPacketListDo ( Builder &  builder)
inlineexplicit
1760: i_builder(builder) {}
Builder & i_builder
Definition GridNotifiers.h:1771

◆ ~LocalizedPacketListDo()

template<class Builder >
Acore::LocalizedPacketListDo< Builder >::~LocalizedPacketListDo ( )
inline
1763 {
1764 for (std::size_t i = 0; i < i_data_cache.size(); ++i)
1765 for (std::size_t j = 0; j < i_data_cache[i].size(); ++j)
1766 delete i_data_cache[i][j];
1767 }
std::vector< WorldPacketList > i_data_cache
Definition GridNotifiers.h:1772

References Acore::LocalizedPacketListDo< Builder >::i_data_cache.

Member Function Documentation

◆ operator()()

template<class Builder >
void Acore::LocalizedPacketListDo< Builder >::operator() ( Player p)
562{
564 uint32 cache_idx = loc_idx + 1;
565 WorldPacketList* data_list;
566
567 // create if not cached yet
568 if (i_data_cache.size() < cache_idx + 1 || i_data_cache[cache_idx].empty())
569 {
570 if (i_data_cache.size() < cache_idx + 1)
571 i_data_cache.resize(cache_idx + 1);
572
573 data_list = &i_data_cache[cache_idx];
574
575 i_builder(*data_list, loc_idx);
576 }
577 else
578 data_list = &i_data_cache[cache_idx];
579
580 for (std::size_t i = 0; i < data_list->size(); ++i)
581 p->SendDirectMessage((*data_list)[i]);
582}
LocaleConstant
Definition Common.h:117
std::uint32_t uint32
Definition Define.h:107
std::vector< WorldPacket * > WorldPacketList
Definition GridNotifiers.h:1759
void SendDirectMessage(WorldPacket const *data) const
Definition Player.cpp:5728
WorldSession * GetSession() const
Definition Player.h:2005
LocaleConstant GetSessionDbLocaleIndex() const
Definition WorldSession.h:547

References Player::GetSession(), WorldSession::GetSessionDbLocaleIndex(), and Player::SendDirectMessage().

Member Data Documentation

◆ i_builder

template<class Builder >
Builder& Acore::LocalizedPacketListDo< Builder >::i_builder
private

◆ i_data_cache

template<class Builder >
std::vector<WorldPacketList> Acore::LocalizedPacketListDo< Builder >::i_data_cache
private

The documentation for this class was generated from the following files: