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

#include "GridNotifiers.h"

Public Member Functions

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

Private Attributes

Builder & i_builder
 
std::vector< WorldPacket * > i_data_cache
 

Detailed Description

template<class Builder>
class Acore::LocalizedPacketDo< Builder >

Constructor & Destructor Documentation

◆ LocalizedPacketDo()

template<class Builder >
Acore::LocalizedPacketDo< Builder >::LocalizedPacketDo ( Builder &  builder)
inlineexplicit
1740: i_builder(builder) {}
Builder & i_builder
Definition GridNotifiers.h:1750

◆ ~LocalizedPacketDo()

template<class Builder >
Acore::LocalizedPacketDo< Builder >::~LocalizedPacketDo ( )
inline
1743 {
1744 for (std::size_t i = 0; i < i_data_cache.size(); ++i)
1745 delete i_data_cache[i];
1746 }
std::vector< WorldPacket * > i_data_cache
Definition GridNotifiers.h:1751

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

Member Function Documentation

◆ operator()()

template<class Builder >
void Acore::LocalizedPacketDo< Builder >::operator() ( Player p)
537{
539 uint32 cache_idx = loc_idx + 1;
540 WorldPacket* data;
541
542 // create if not cached yet
543 if (i_data_cache.size() < cache_idx + 1 || !i_data_cache[cache_idx])
544 {
545 if (i_data_cache.size() < cache_idx + 1)
546 i_data_cache.resize(cache_idx + 1);
547
548 data = new WorldPacket();
549
550 i_builder(*data, loc_idx);
551
552 i_data_cache[cache_idx] = data;
553 }
554 else
555 data = i_data_cache[cache_idx];
556
557 p->SendDirectMessage(data);
558}
LocaleConstant
Definition Common.h:117
std::uint32_t uint32
Definition Define.h:107
void resize(std::size_t newsize)
Definition ByteBuffer.h:447
void SendDirectMessage(WorldPacket const *data) const
Definition Player.cpp:5728
WorldSession * GetSession() const
Definition Player.h:2005
Definition WorldPacket.h:26
LocaleConstant GetSessionDbLocaleIndex() const
Definition WorldSession.h:547

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

Member Data Documentation

◆ i_builder

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

◆ i_data_cache

template<class Builder >
std::vector<WorldPacket*> Acore::LocalizedPacketDo< Builder >::i_data_cache
private

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