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
1321{ }

Member Function Documentation

◆ GetTopCreatureCount()

std::vector< std::pair< uint32, uint32 > > debug_commandscript::CreatureCountWorker::GetTopCreatureCount ( uint32  count)
inline
1336 {
1337 auto comp = [](std::pair<uint32, uint32> const& a, std::pair<uint32, uint32> const& b)
1338 {
1339 return a.second > b.second;
1340 };
1341 std::set<std::pair<uint32, uint32>, decltype(comp)> set(creatureIds.begin(), creatureIds.end(), comp);
1342
1343 count = std::min(count, uint32(set.size()));
1344 std::vector<std::pair<uint32, uint32>> result(count);
1345 std::copy_n(set.begin(), count, result.begin());
1346
1347 return result;
1348 }
std::uint32_t uint32
Definition: Define.h:107
std::unordered_map< uint32, uint32 > creatureIds
Definition: cs_debug.cpp:1351

References creatureIds.

Referenced by debug_commandscript::HandleDebugObjectCountMap().

◆ Visit() [1/2]

void debug_commandscript::CreatureCountWorker::Visit ( std::unordered_map< ObjectGuid, Creature * > &  creatureMap)
inline
1324 {
1325 for (auto const& p : creatureMap)
1326 {
1327 uint32& count = creatureIds[p.second->GetEntry()];
1328 ++count;
1329 }
1330 }

References creatureIds.

◆ Visit() [2/2]

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

Member Data Documentation

◆ creatureIds

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

Referenced by GetTopCreatureCount(), and Visit().