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

Member Function Documentation

◆ GetTopCreatureCount()

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

References creatureIds.

Referenced by debug_commandscript::HandleDebugObjectCountMap().

◆ Visit() [1/2]

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

References creatureIds.

◆ Visit() [2/2]

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

Member Data Documentation

◆ creatureIds

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

Referenced by GetTopCreatureCount(), and Visit().