AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
debug_commandscript::CreatureCountWorker Class Reference

Public Member Functions

 CreatureCountWorker ()
 
void Visit (std::unordered_map< ObjectGuid, Creature * > &creatureMap)
 
template<class T >
void Visit (std::unordered_map< ObjectGuid, T * > &)
 
std::vector< std::pair< uint32, uint32 > > GetTopCreatureCount (uint32 count)
 

Private Attributes

std::unordered_map< uint32, uint32creatureIds
 

Detailed Description

Constructor & Destructor Documentation

◆ CreatureCountWorker()

debug_commandscript::CreatureCountWorker::CreatureCountWorker ( )
inline
1298{ }

Member Function Documentation

◆ GetTopCreatureCount()

std::vector< std::pair< uint32, uint32 > > debug_commandscript::CreatureCountWorker::GetTopCreatureCount ( uint32  count)
inline
1313 {
1314 auto comp = [](std::pair<uint32, uint32> const& a, std::pair<uint32, uint32> const& b)
1315 {
1316 return a.second > b.second;
1317 };
1318 std::set<std::pair<uint32, uint32>, decltype(comp)> set(creatureIds.begin(), creatureIds.end(), comp);
1319
1320 count = std::min(count, uint32(set.size()));
1321 std::vector<std::pair<uint32, uint32>> result(count);
1322 std::copy_n(set.begin(), count, result.begin());
1323
1324 return result;
1325 }
std::uint32_t uint32
Definition: Define.h:108
std::unordered_map< uint32, uint32 > creatureIds
Definition: cs_debug.cpp:1328

References creatureIds.

Referenced by debug_commandscript::HandleDebugObjectCountMap().

◆ Visit() [1/2]

void debug_commandscript::CreatureCountWorker::Visit ( std::unordered_map< ObjectGuid, Creature * > &  creatureMap)
inline
1301 {
1302 for (auto const& p : creatureMap)
1303 {
1304 uint32& count = creatureIds[p.second->GetEntry()];
1305 ++count;
1306 }
1307 }

References creatureIds.

◆ Visit() [2/2]

template<class T >
void debug_commandscript::CreatureCountWorker::Visit ( std::unordered_map< ObjectGuid, T * > &  )
inline
1310{ }

Member Data Documentation

◆ creatureIds

std::unordered_map<uint32, uint32> debug_commandscript::CreatureCountWorker::creatureIds
private

Referenced by GetTopCreatureCount(), and Visit().