EvEmu
0.8.4
11 September 2021
|
#include "BubbleManager.h"
Protected Member Functions | |
SystemBubble * | MakeBubble (SystemManager *sysMgr, GPoint pos) |
Private Attributes | |
Timer | m_emptyTimer |
Timer | m_wanderTimer |
uint32 | m_bubbleID |
std::map< uint16, uint32 > | m_spawnIDs |
std::list< SystemBubble * > | m_bubbles |
std::vector< SystemEntity * > | m_wanderers |
std::map< uint32, SystemBubble * > | m_bubbleIDMap |
std::unordered_multimap < uint32, SystemBubble * > | m_sysBubbleMap |
Additional Inherited Members | |
![]() | |
static BubbleManager & | get () |
![]() | |
static std::shared_ptr < BubbleManager > | mInstance |
Definition at line 46 of file BubbleManager.h.
BubbleManager::BubbleManager | ( | ) |
Definition at line 42 of file BubbleManager.cpp.
References m_bubbleIDMap, m_bubbles, m_sysBubbleMap, and m_wanderers.
BubbleManager::~BubbleManager | ( | ) |
Definition at line 53 of file BubbleManager.cpp.
void BubbleManager::Add | ( | SystemEntity * | pSE, |
bool | isPostWarp = false |
||
) |
Definition at line 155 of file BubbleManager.cpp.
References _log, SystemBubble::Add(), SystemEntity::DestinyMgr(), GetBubble(), SystemManager::GetID(), SystemBubble::GetID(), SystemEntity::GetID(), SystemManager::GetName(), SystemEntity::GetName(), SystemEntity::GetPosition(), SystemGPoint::GetRandPointOnPlanet(), SystemBubble::GetSystemID(), SystemEntity::GetVelocity(), SystemBubble::InBubble(), Ga::GaVec3::isZero(), NewBubbleCenter(), SystemBubble::Remove(), DestinyManager::SetPosition(), SystemEntity::SysBubble(), and SystemEntity::SystemMgr().
Referenced by CheckBubble().
void BubbleManager::CheckBubble | ( | SystemEntity * | ent | ) |
Definition at line 121 of file BubbleManager.cpp.
References _log, Add(), SystemEntity::GetID(), SystemEntity::GetName(), SystemEntity::GetPosition(), SystemBubble::InBubble(), SystemBubble::Remove(), SystemEntity::SysBubble(), SystemBubble::x(), Ga::GaVec3::x, SystemBubble::y(), Ga::GaVec3::y, SystemBubble::z(), and Ga::GaVec3::z.
Referenced by Process().
void BubbleManager::clear | ( | ) |
Definition at line 65 of file BubbleManager.cpp.
References m_bubbles, SafeDelete(), and sLog.
void BubbleManager::ClearSystemBubbles | ( | uint32 | systemID | ) |
Definition at line 275 of file BubbleManager.cpp.
References m_bubbleIDMap, m_bubbles, and m_sysBubbleMap.
|
inline |
SystemBubble * BubbleManager::FindBubble | ( | SystemEntity * | ent | ) | const |
UPDATE large items, (sun, planet, moons) are no longer in bubbles. this cuts number of bubbles drastically, dropping average to 10bbl/system, and allowing a much larger amount of bubbles per system without introducing lag from bubble processing.
NOTE: these are only used here...
Definition at line 215 of file BubbleManager.cpp.
References SystemManager::GetID(), SystemEntity::GetPosition(), and SystemEntity::SystemMgr().
Referenced by GetBubble().
SystemBubble * BubbleManager::FindBubble | ( | uint32 | systemID, |
const GPoint & | pos | ||
) | const |
Definition at line 219 of file BubbleManager.cpp.
References _log, m_sysBubbleMap, Ga::GaVec3::x, Ga::GaVec3::y, and Ga::GaVec3::z.
SystemBubble * BubbleManager::FindBubbleByID | ( | uint16 | bubbleID | ) |
Definition at line 267 of file BubbleManager.cpp.
References m_bubbleIDMap.
SystemBubble * BubbleManager::GetBubble | ( | SystemManager * | sysMgr, |
const GPoint & | pos | ||
) |
Definition at line 234 of file BubbleManager.cpp.
References FindBubble(), SystemManager::GetID(), and MakeBubble().
Referenced by Add().
void BubbleManager::GetBubbleCenterMarkers | ( | std::vector< CosmicSignature > & | anom | ) |
Definition at line 332 of file BubbleManager.cpp.
References AttrScanMagnetometricStrength, EVEDB::invTypes::CosmicSignature, InventoryItem::customInfo(), SystemEntity::GetID(), SystemEntity::GetName(), SystemEntity::GetOwnerID(), SystemEntity::GetPosition(), SystemEntity::GetSelf(), m_sysBubbleMap, CosmicSignature::ownerID, CosmicSignature::position, CosmicSignature::scanAttributeID, CosmicSignature::scanGroupID, CosmicSignature::sigID, CosmicSignature::sigItemID, CosmicSignature::sigName, Scanning::Group::Signature, CosmicSignature::sigStrength, and CosmicSignature::systemID.
void BubbleManager::GetBubbleCenterMarkers | ( | uint32 | systemID, |
std::vector< CosmicSignature > & | anom | ||
) |
Definition at line 355 of file BubbleManager.cpp.
References AttrScanMagnetometricStrength, EVEDB::invTypes::CosmicSignature, InventoryItem::customInfo(), SystemEntity::GetID(), SystemEntity::GetName(), SystemEntity::GetOwnerID(), SystemEntity::GetPosition(), SystemEntity::GetSelf(), m_sysBubbleMap, CosmicSignature::ownerID, CosmicSignature::position, CosmicSignature::scanAttributeID, CosmicSignature::scanGroupID, CosmicSignature::sigID, CosmicSignature::sigItemID, CosmicSignature::sigName, Scanning::Group::Signature, CosmicSignature::sigStrength, and CosmicSignature::systemID.
Definition at line 324 of file BubbleManager.cpp.
References m_sysBubbleMap.
|
inline |
int BubbleManager::Initialize | ( | ) |
Definition at line 56 of file BubbleManager.cpp.
References m_emptyTimer, m_wanderTimer, sLog, and Timer::Start().
|
protected |
Definition at line 243 of file BubbleManager.cpp.
References _log, BUBBLE_RADIUS_METERS, SystemManager::GetID(), SystemBubble::GetID(), m_bubbleIDMap, m_bubbles, m_sysBubbleMap, SystemBubble::MarkCenter(), Ga::GaVec3::normalize(), and sConfig.
Referenced by GetBubble().
void BubbleManager::MarkCenters | ( | ) |
Definition at line 380 of file BubbleManager.cpp.
References m_sysBubbleMap.
void BubbleManager::MarkCenters | ( | uint32 | systemID | ) |
Definition at line 390 of file BubbleManager.cpp.
References m_sysBubbleMap.
Definition at line 193 of file BubbleManager.cpp.
References BUBBLE_RADIUS_METERS, and Ga::GaVec3::normalize().
Referenced by Add().
void BubbleManager::Process | ( | ) |
Definition at line 72 of file BubbleManager.cpp.
References _log, Profile::bubbles, Timer::Check(), CheckBubble(), GetTimeUSeconds(), m_bubbles, m_emptyTimer, m_wanderers, m_wanderTimer, RemoveEmpty(), sConfig, and sProfiler.
void BubbleManager::Remove | ( | SystemEntity * | ent | ) |
Definition at line 198 of file BubbleManager.cpp.
References _log, SystemBubble::GetID(), SystemEntity::GetID(), SystemEntity::GetName(), SystemBubble::Remove(), and SystemEntity::SysBubble().
void BubbleManager::RemoveBubble | ( | uint32 | systemID, |
SystemBubble * | pSB | ||
) |
Definition at line 286 of file BubbleManager.cpp.
References SystemBubble::GetID(), m_bubbleIDMap, and m_sysBubbleMap.
Referenced by RemoveEmpty().
void BubbleManager::RemoveEmpty | ( | ) |
Definition at line 141 of file BubbleManager.cpp.
References _log, m_bubbles, and RemoveBubble().
Referenced by Process().
void BubbleManager::RemoveMarkers | ( | ) |
Definition at line 385 of file BubbleManager.cpp.
References m_sysBubbleMap.
void BubbleManager::RemoveMarkers | ( | uint32 | systemID | ) |
Definition at line 396 of file BubbleManager.cpp.
References m_sysBubbleMap.
|
private |
Definition at line 106 of file BubbleManager.h.
Referenced by GetBubbleID().
|
private |
Definition at line 114 of file BubbleManager.h.
Referenced by BubbleManager(), ClearSystemBubbles(), FindBubbleByID(), MakeBubble(), and RemoveBubble().
|
private |
Definition at line 111 of file BubbleManager.h.
Referenced by BubbleManager(), clear(), ClearSystemBubbles(), Count(), MakeBubble(), Process(), and RemoveEmpty().
|
private |
Definition at line 103 of file BubbleManager.h.
Referenced by Initialize(), and Process().
Definition at line 109 of file BubbleManager.h.
Referenced by AddSpawnID(), GetBeltID(), and RemoveSpawnID().
|
private |
Definition at line 116 of file BubbleManager.h.
Referenced by BubbleManager(), ClearSystemBubbles(), FindBubble(), GetBubbleCenterMarkers(), GetBubbleCount(), MakeBubble(), MarkCenters(), RemoveBubble(), and RemoveMarkers().
|
private |
Definition at line 112 of file BubbleManager.h.
Referenced by BubbleManager(), and Process().
|
private |
Definition at line 104 of file BubbleManager.h.
Referenced by Initialize(), and Process().