Central entity lifecycle manager for the R-Type game server. More...
#include <EntityManager.hpp>
Collaboration diagram for gme::EntityManager:Public Member Functions | |
| EntityManager (ecs::Registry ®istry) | |
| Constructor. | |
| ~EntityManager ()=default | |
| Destructor. | |
| EntityManager (const EntityManager &)=delete | |
| Deleted copy constructor (non-copyable) | |
| EntityManager & | operator= (const EntityManager &)=delete |
| Deleted copy assignment operator (non-copyable) | |
| EntityManager (EntityManager &&)=delete | |
| Deleted move constructor (non-movable) | |
| EntityManager & | operator= (EntityManager &&)=delete |
| Deleted move assignment operator (non-movable) | |
| ecs::Entity | createPlayer (std::uint32_t sessionId, float x, float y) |
| Create a new player entity. | |
| void | destroyPlayer (std::uint32_t sessionId) |
| Destroy a player entity. | |
| ecs::Entity | getPlayer (std::uint32_t sessionId) |
| Get player entity by session ID. | |
| ecs::Entity | getPlayerEntity (std::uint32_t sessionId) const |
| Get player entity by session ID (const version) | |
| bool | hasPlayer (std::uint32_t sessionId) const |
| Check if player exists. | |
| void | markPlayerAsDead (std::uint32_t sessionId) |
| Mark a player as dead without destroying the entity. | |
| std::uint32_t | getAlivePlayerCount () const |
| Get count of alive players. | |
| const std::unordered_map< std::uint32_t, ecs::Entity > & | getPlayers () const |
| Get all player entities. | |
| void | addScore (std::uint32_t sessionId, int points) |
| Add points to a player's score. | |
| int | getScore (std::uint32_t sessionId) const |
| Get player's current score. | |
| void | resetScore (std::uint32_t sessionId) |
| Reset player's score to zero. | |
| ecs::Entity | createBasicEnemy (float x, float y, float health=50.0f) |
| Create a basic enemy entity. | |
| ecs::Entity | createAdvancedEnemy (float x, float y, float health=100.0f) |
| Create an advanced enemy entity. | |
| ecs::Entity | createBoss (float x, float y, float health=1000.0f) |
| Create a boss enemy entity. | |
| void | destroyEnemy (std::uint32_t enemyId) |
| Destroy an enemy entity. | |
| ecs::Entity | getEnemy (std::uint32_t enemyId) |
| Get enemy entity by network ID. | |
| const std::unordered_map< std::uint32_t, ecs::Entity > & | getEnemies () const |
| Get all enemy entities. | |
| ecs::Entity | createPlayerProjectile (std::uint32_t playerId, float x, float y, float vx, float vy, bool isSupercharged=false) |
| Create a player projectile entity. | |
| ecs::Entity | createEnemyProjectile (std::uint32_t enemyId, float x, float y, float vx, float vy) |
| Create an enemy projectile entity. | |
| void | destroyProjectile (std::uint32_t projectileId) |
| Destroy a projectile entity. | |
| ecs::Entity | getProjectile (std::uint32_t projectileId) |
| Get projectile entity by network ID. | |
| const std::unordered_map< std::uint32_t, ecs::Entity > & | getProjectiles () const |
| Get all projectile entities. | |
| ecs::Entity | createPowerup (float x, float y, uint8_t powerupType) |
| Create a powerup entity. | |
| void | destroyPowerup (std::uint32_t powerupId) |
| Destroy a powerup entity. | |
| void | updateLifetimes (float deltaTime) |
| Update lifetime counters for temporary entities. | |
| void | cleanupDestroyedEntities () |
| Process destruction queue and remove destroyed entities. | |
| EntityMetadata * | getEntityMetadata (std::uint32_t networkId) |
| Get entity metadata by network ID. | |
| const EntityMetadata * | getEntityMetadata (std::uint32_t networkId) const |
| Get entity metadata by network ID (const version) | |
| std::uint32_t | getNetworkIdForEntity (ecs::Entity entity) const |
| Get network ID for an entity handle. | |
| std::vector< rnp::EntityState > | getAllEntityStates () const |
| Get network state for all entities. | |
| rnp::EntityType | getNetworkEntityType (ServerEntityType type) const |
| Convert server entity type to network protocol entity type. | |
| void | clear () |
| Clear all entities and reset manager state. | |
| size_t | getTotalEntityCount () const |
| Get total count of all managed entities. | |
Private Member Functions | |
| void | registerEntity (ecs::Entity entity, ServerEntityType type, std::uint32_t networkId, float lifetime=-1.0f, std::uint32_t ownerId=0) |
| Register a new entity with the manager. | |
| void | unregisterEntity (std::uint32_t networkId) |
| Unregister an entity from the manager. | |
| void | processDestroyQueue () |
| Process pending entity destructions from queue. | |
Private Attributes | |
| ecs::Registry & | m_registry |
| Reference to ECS registry. | |
| std::unordered_map< std::uint32_t, ecs::Entity > | m_playerEntities |
| Player entities by session ID. | |
| std::unordered_map< std::uint32_t, ecs::Entity > | m_enemyEntities |
| Enemy entities by network ID. | |
| std::unordered_map< std::uint32_t, ecs::Entity > | m_projectileEntities |
| Projectile entities by network ID. | |
| std::unordered_map< std::uint32_t, ecs::Entity > | m_powerupEntities |
| Powerup entities by network ID. | |
| std::unordered_map< std::uint32_t, EntityMetadata > | m_entityMetadata |
| Entity metadata by network ID. | |
| std::unordered_set< std::uint32_t > | m_deadPlayers |
| Set of dead player session IDs. | |
| std::unordered_map< std::uint32_t, int > | m_playerScores |
| Player scores by session ID. | |
| std::unordered_map< ecs::Entity, std::uint32_t > | m_entityToNetworkId |
| Reverse lookup map. | |
| std::uint32_t | m_nextEnemyId = 2000 |
| Next available enemy network ID. | |
| std::uint32_t | m_nextProjectileId = 1000 |
| Next available projectile network ID. | |
| std::uint32_t | m_nextPowerupId = 5000 |
| Next available powerup network ID. | |
| std::vector< std::uint32_t > | m_destroyQueue |
| Queue of network IDs pending destruction. | |
Central entity lifecycle manager for the R-Type game server.
This class provides comprehensive entity management including:
The manager maintains separate containers for different entity types and ensures proper cleanup of destroyed entities. All entities are assigned unique network IDs for client-server synchronization.
Definition at line 80 of file EntityManager.hpp.
|
explicit |
Constructor.
| registry | Reference to the ECS registry |
Initializes the entity manager with a reference to the game's ECS registry
Definition at line 14 of file EntityManager.cpp.
|
default |
Destructor.
|
delete |
Deleted copy constructor (non-copyable)
|
delete |
Deleted move constructor (non-movable)
| void gme::EntityManager::addScore | ( | std::uint32_t | sessionId, |
| int | points ) |
Add points to a player's score.
| sessionId | Network session ID of the player |
| points | Points to add (can be negative) |
Definition at line 106 of file EntityManager.cpp.
References utl::INFO, utl::Logger::log(), and m_playerScores.
Referenced by gme::CollisionSystem::applyDamageToEnemy().
Here is the call graph for this function:
Here is the caller graph for this function:| void gme::EntityManager::cleanupDestroyedEntities | ( | ) |
Process destruction queue and remove destroyed entities.
Should be called after all systems have updated to safely remove entities
Definition at line 299 of file EntityManager.cpp.
References processDestroyQueue().
Here is the call graph for this function:| void gme::EntityManager::clear | ( | ) |
Clear all entities and reset manager state.
Destroys all entities and resets ID generators
Definition at line 473 of file EntityManager.cpp.
References ecs::Registry::hasComponent(), m_deadPlayers, m_destroyQueue, m_enemyEntities, m_entityMetadata, m_entityToNetworkId, m_playerEntities, m_powerupEntities, m_projectileEntities, m_registry, and ecs::Registry::removeComponent().
Here is the call graph for this function:| ecs::Entity gme::EntityManager::createAdvancedEnemy | ( | float | x, |
| float | y, | ||
| float | health = 100.0f ) |
Create an advanced enemy entity.
| x | Spawn X position |
| y | Spawn Y position |
| health | Initial health (default: 100.0) |
Creates advanced enemy with complex AI behavior
Definition at line 153 of file EntityManager.cpp.
References ecs::Registry::createEntity(), gme::ENEMY_ADVANCED, utl::INFO, utl::Logger::log(), m_enemyEntities, m_nextEnemyId, m_registry, registerEntity(), and ecs::Registry::EntityBuilder::with().
Referenced by gme::WaveManager::processSpawns(), and gme::EnemySpawnSystem::processWave().
Here is the call graph for this function:
Here is the caller graph for this function:| ecs::Entity gme::EntityManager::createBasicEnemy | ( | float | x, |
| float | y, | ||
| float | health = 50.0f ) |
Create a basic enemy entity.
| x | Spawn X position |
| y | Spawn Y position |
| health | Initial health (default: 50.0) |
Creates basic enemy with simple AI behavior
Definition at line 126 of file EntityManager.cpp.
References ecs::Registry::createEntity(), gme::ENEMY_BASIC, utl::INFO, utl::Logger::log(), m_enemyEntities, m_nextEnemyId, m_registry, registerEntity(), and ecs::Registry::EntityBuilder::with().
Referenced by gme::WaveManager::processSpawns(), and gme::EnemySpawnSystem::processWave().
Here is the call graph for this function:
Here is the caller graph for this function:| ecs::Entity gme::EntityManager::createBoss | ( | float | x, |
| float | y, | ||
| float | health = 1000.0f ) |
Create a boss enemy entity.
| x | Spawn X position |
| y | Spawn Y position |
| health | Initial health (default: 1000.0) |
Creates boss with special AI and high durability
Definition at line 180 of file EntityManager.cpp.
References gme::BOSS, ecs::Registry::createEntity(), utl::INFO, utl::Logger::log(), m_enemyEntities, m_nextEnemyId, m_registry, registerEntity(), and ecs::Registry::EntityBuilder::with().
Referenced by gme::WaveManager::processSpawns(), and gme::EnemySpawnSystem::processWave().
Here is the call graph for this function:
Here is the caller graph for this function:| ecs::Entity gme::EntityManager::createEnemyProjectile | ( | std::uint32_t | enemyId, |
| float | x, | ||
| float | y, | ||
| float | vx, | ||
| float | vy ) |
Create an enemy projectile entity.
| enemyId | Network ID of the enemy who fired |
| x | Initial X position |
| y | Initial Y position |
| vx | X velocity |
| vy | Y velocity |
Definition at line 248 of file EntityManager.cpp.
References ecs::Projectile::BASIC, ecs::Registry::createEntity(), m_nextProjectileId, m_projectileEntities, m_registry, gme::PROJECTILE_ENEMY, registerEntity(), and ecs::Registry::EntityBuilder::with().
Referenced by gme::EnemyAISystem::tryShoot(), and gme::EnemyAISystem::updateBossAI().
Here is the call graph for this function:
Here is the caller graph for this function:| ecs::Entity gme::EntityManager::createPlayer | ( | std::uint32_t | sessionId, |
| float | x, | ||
| float | y ) |
Create a new player entity.
| sessionId | Network session ID of the player |
| x | Initial X position |
| y | Initial Y position |
Creates a player entity with all required components (Transform, Velocity, Health, Hitbox, NetworkId) and registers it for tracking
Definition at line 16 of file EntityManager.cpp.
References ecs::Registry::createEntity(), hasPlayer(), utl::INFO, utl::Logger::log(), m_playerEntities, m_playerScores, m_registry, gme::PLAYER, registerEntity(), utl::GameConfig::Server::SCREEN_HEIGHT, utl::GameConfig::Server::SCREEN_WIDTH, utl::WARNING, and ecs::Registry::EntityBuilder::with().
Here is the call graph for this function:| ecs::Entity gme::EntityManager::createPlayerProjectile | ( | std::uint32_t | playerId, |
| float | x, | ||
| float | y, | ||
| float | vx, | ||
| float | vy, | ||
| bool | isSupercharged = false ) |
Create a player projectile entity.
| playerId | Session ID of the player who fired |
| x | Initial X position |
| y | Initial Y position |
| vx | X velocity |
| vy | Y velocity |
| isSupercharged | Whether this is a powered-up shot (default: false) |
Definition at line 223 of file EntityManager.cpp.
References ecs::Projectile::BASIC, ecs::Registry::createEntity(), m_nextProjectileId, m_projectileEntities, m_registry, gme::PROJECTILE_PLAYER, registerEntity(), ecs::Projectile::SUPERCHARGED, and ecs::Registry::EntityBuilder::with().
Here is the call graph for this function:| ecs::Entity gme::EntityManager::createPowerup | ( | float | x, |
| float | y, | ||
| uint8_t | powerupType ) |
Create a powerup entity.
| x | Spawn X position |
| y | Spawn Y position |
| powerupType | Type of powerup (0-255) |
| void gme::EntityManager::destroyEnemy | ( | std::uint32_t | enemyId | ) |
Destroy an enemy entity.
| enemyId | Network ID of the enemy |
Definition at line 207 of file EntityManager.cpp.
References getEntityMetadata(), and m_destroyQueue.
Referenced by gme::CollisionSystem::applyDamageToEnemy().
Here is the call graph for this function:
Here is the caller graph for this function:| void gme::EntityManager::destroyPlayer | ( | std::uint32_t | sessionId | ) |
Destroy a player entity.
| sessionId | Network session ID of the player to destroy |
Removes player from tracking and queues entity for destruction
Definition at line 52 of file EntityManager.cpp.
References getEntityMetadata(), utl::INFO, utl::Logger::log(), and m_destroyQueue.
Here is the call graph for this function:| void gme::EntityManager::destroyPowerup | ( | std::uint32_t | powerupId | ) |
Destroy a powerup entity.
| powerupId | Network ID of the powerup |
| void gme::EntityManager::destroyProjectile | ( | std::uint32_t | projectileId | ) |
Destroy a projectile entity.
| projectileId | Network ID of the projectile |
Definition at line 267 of file EntityManager.cpp.
References getEntityMetadata(), and m_destroyQueue.
Referenced by gme::CollisionSystem::handleEnemyProjectilePlayerCollision(), and gme::CollisionSystem::handlePlayerProjectileEnemyCollision().
Here is the call graph for this function:
Here is the caller graph for this function:| std::uint32_t gme::EntityManager::getAlivePlayerCount | ( | ) | const |
Get count of alive players.
Definition at line 91 of file EntityManager.cpp.
References m_deadPlayers, and m_playerEntities.
| std::vector< rnp::EntityState > gme::EntityManager::getAllEntityStates | ( | ) | const |
Get network state for all entities.
Creates snapshot of all entity positions, velocities, and states for synchronization with clients
Definition at line 319 of file EntityManager.cpp.
References gme::BOSS, rnp::BOSS, rnp::ENEMY, gme::ENEMY_ADVANCED, rnp::ENEMY_ADVANCED, rnp::ENEMY_BASIC, rnp::ENEMY_BOSS, ecs::Registry::getComponent(), getEntityMetadata(), getScore(), rnp::EntityState::healthPercent, rnp::EntityState::id, m_enemyEntities, m_playerEntities, m_projectileEntities, m_registry, rnp::NONE, rnp::PLAYER, rnp::PROJECTILE, gme::PROJECTILE_ENEMY, rnp::PROJECTILE_ENEMY, gme::PROJECTILE_PLAYER, rnp::PROJECTILE_PLAYER, rnp::PROJECTILE_PLAYER_SUPERCHARGED, rnp::EntityState::score, rnp::EntityState::stateFlags, rnp::EntityState::subtype, ecs::Projectile::SUPERCHARGED, rnp::EntityState::type, rnp::EntityState::vx, rnp::EntityState::vy, ecs::Transform::x, rnp::EntityState::x, ecs::Transform::y, and rnp::EntityState::y.
Here is the call graph for this function:
|
inline |
Get all enemy entities.
Definition at line 231 of file EntityManager.hpp.
References m_enemyEntities.
Referenced by gme::CollisionSystem::handlePlayerEnemyCollision(), gme::CollisionSystem::handlePlayerProjectileEnemyCollision(), gme::WaveManager::isWaveCleared(), and gme::EnemyAISystem::update().
Here is the caller graph for this function:| ecs::Entity gme::EntityManager::getEnemy | ( | std::uint32_t | enemyId | ) |
Get enemy entity by network ID.
| enemyId | Network ID of the enemy |
Definition at line 217 of file EntityManager.cpp.
References ecs::INVALID_ENTITY, and m_enemyEntities.
Referenced by gme::CollisionSystem::applyDamageToEnemy().
Here is the caller graph for this function:| EntityMetadata * gme::EntityManager::getEntityMetadata | ( | std::uint32_t | networkId | ) |
Get entity metadata by network ID.
| networkId | Network ID of the entity |
Definition at line 301 of file EntityManager.cpp.
References m_entityMetadata.
Referenced by gme::CollisionSystem::applyDamageToEnemy(), destroyEnemy(), destroyPlayer(), destroyProjectile(), getAllEntityStates(), gme::CollisionSystem::handleEnemyProjectilePlayerCollision(), gme::CollisionSystem::handlePlayerEnemyCollision(), gme::CollisionSystem::handlePlayerProjectileEnemyCollision(), and gme::EnemyAISystem::update().
Here is the caller graph for this function:| const EntityMetadata * gme::EntityManager::getEntityMetadata | ( | std::uint32_t | networkId | ) | const |
Get entity metadata by network ID (const version)
| networkId | Network ID of the entity |
Definition at line 307 of file EntityManager.cpp.
References m_entityMetadata.
| rnp::EntityType gme::EntityManager::getNetworkEntityType | ( | ServerEntityType | type | ) | const |
Convert server entity type to network protocol entity type.
| type | Server entity type |
Definition at line 454 of file EntityManager.cpp.
References gme::BOSS, rnp::BOSS, rnp::ENEMY, gme::ENEMY_ADVANCED, gme::ENEMY_BASIC, gme::PLAYER, rnp::PLAYER, rnp::PROJECTILE, gme::PROJECTILE_ENEMY, and gme::PROJECTILE_PLAYER.
| std::uint32_t gme::EntityManager::getNetworkIdForEntity | ( | ecs::Entity | entity | ) | const |
Get network ID for an entity handle.
| entity | ECS entity handle |
Definition at line 313 of file EntityManager.cpp.
References m_entityToNetworkId.
Referenced by gme::EnemyAISystem::updateBossAI().
Here is the caller graph for this function:| ecs::Entity gme::EntityManager::getPlayer | ( | std::uint32_t | sessionId | ) |
Get player entity by session ID.
| sessionId | Network session ID |
Definition at line 68 of file EntityManager.cpp.
References ecs::INVALID_ENTITY, and m_playerEntities.
| ecs::Entity gme::EntityManager::getPlayerEntity | ( | std::uint32_t | sessionId | ) | const |
Get player entity by session ID (const version)
| sessionId | Network session ID |
Definition at line 79 of file EntityManager.cpp.
References ecs::INVALID_ENTITY, and m_playerEntities.
Referenced by gme::CollisionSystem::applyDamageToPlayer().
Here is the caller graph for this function:
|
inline |
Get all player entities.
Definition at line 162 of file EntityManager.hpp.
References m_playerEntities.
Referenced by gme::EnemyAISystem::findNearestPlayer(), gme::EnemyAISystem::getDistanceToNearestPlayer(), gme::CollisionSystem::handleEnemyProjectilePlayerCollision(), and gme::CollisionSystem::handlePlayerEnemyCollision().
Here is the caller graph for this function:| ecs::Entity gme::EntityManager::getProjectile | ( | std::uint32_t | projectileId | ) |
Get projectile entity by network ID.
| projectileId | Network ID of the projectile |
Definition at line 277 of file EntityManager.cpp.
References ecs::INVALID_ENTITY, and m_projectileEntities.
|
inline |
Get all projectile entities.
Definition at line 274 of file EntityManager.hpp.
References m_projectileEntities.
Referenced by gme::CollisionSystem::handleEnemyProjectilePlayerCollision(), and gme::CollisionSystem::handlePlayerProjectileEnemyCollision().
Here is the caller graph for this function:| int gme::EntityManager::getScore | ( | std::uint32_t | sessionId | ) | const |
Get player's current score.
| sessionId | Network session ID |
Definition at line 114 of file EntityManager.cpp.
References m_playerScores.
Referenced by getAllEntityStates().
Here is the caller graph for this function:| size_t gme::EntityManager::getTotalEntityCount | ( | ) | const |
Get total count of all managed entities.
Definition at line 539 of file EntityManager.cpp.
References m_enemyEntities, m_playerEntities, m_powerupEntities, and m_projectileEntities.
| bool gme::EntityManager::hasPlayer | ( | std::uint32_t | sessionId | ) | const |
Check if player exists.
| sessionId | Network session ID |
Definition at line 74 of file EntityManager.cpp.
References m_playerEntities.
Referenced by createPlayer().
Here is the caller graph for this function:| void gme::EntityManager::markPlayerAsDead | ( | std::uint32_t | sessionId | ) |
Mark a player as dead without destroying the entity.
| sessionId | Network session ID |
Adds player to dead players set, useful for game over detection
Definition at line 85 of file EntityManager.cpp.
References utl::INFO, utl::Logger::log(), and m_deadPlayers.
Referenced by gme::CollisionSystem::applyDamageToPlayer().
Here is the call graph for this function:
Here is the caller graph for this function:
|
delete |
Deleted copy assignment operator (non-copyable)
|
delete |
Deleted move assignment operator (non-movable)
|
private |
Process pending entity destructions from queue.
Safely removes entities that were queued for destruction
Definition at line 571 of file EntityManager.cpp.
References ecs::Registry::hasComponent(), utl::INFO, utl::Logger::log(), m_deadPlayers, m_destroyQueue, m_enemyEntities, m_playerEntities, m_playerScores, m_powerupEntities, m_projectileEntities, m_registry, ecs::Registry::removeComponent(), and unregisterEntity().
Referenced by cleanupDestroyedEntities().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Register a new entity with the manager.
| entity | ECS entity handle |
| type | Entity type classification |
| networkId | Network ID for synchronization |
| lifetime | Maximum lifetime in seconds (-1.0 for infinite) |
| ownerId | Owner entity ID (for projectiles) |
Definition at line 545 of file EntityManager.cpp.
References gme::EntityMetadata::currentLife, gme::EntityMetadata::entity, gme::EntityMetadata::isActive, gme::EntityMetadata::lifetime, m_entityMetadata, m_entityToNetworkId, gme::EntityMetadata::networkId, gme::EntityMetadata::ownerId, and gme::EntityMetadata::type.
Referenced by createAdvancedEnemy(), createBasicEnemy(), createBoss(), createEnemyProjectile(), createPlayer(), and createPlayerProjectile().
Here is the caller graph for this function:| void gme::EntityManager::resetScore | ( | std::uint32_t | sessionId | ) |
Reset player's score to zero.
| sessionId | Network session ID |
Definition at line 120 of file EntityManager.cpp.
References utl::INFO, utl::Logger::log(), and m_playerScores.
Here is the call graph for this function:
|
private |
Unregister an entity from the manager.
| networkId | Network ID of the entity to unregister |
Definition at line 561 of file EntityManager.cpp.
References m_entityMetadata, and m_entityToNetworkId.
Referenced by processDestroyQueue().
Here is the caller graph for this function:| void gme::EntityManager::updateLifetimes | ( | float | deltaTime | ) |
Update lifetime counters for temporary entities.
| deltaTime | Time elapsed since last frame (seconds) |
Increments currentLife for entities with limited lifetime and destroys entities that have exceeded their lifetime
Definition at line 283 of file EntityManager.cpp.
References m_destroyQueue, and m_entityMetadata.
|
private |
Set of dead player session IDs.
Definition at line 369 of file EntityManager.hpp.
Referenced by clear(), getAlivePlayerCount(), markPlayerAsDead(), and processDestroyQueue().
|
private |
Queue of network IDs pending destruction.
Definition at line 383 of file EntityManager.hpp.
Referenced by clear(), destroyEnemy(), destroyPlayer(), destroyProjectile(), processDestroyQueue(), and updateLifetimes().
|
private |
Enemy entities by network ID.
Definition at line 361 of file EntityManager.hpp.
Referenced by clear(), createAdvancedEnemy(), createBasicEnemy(), createBoss(), getAllEntityStates(), getEnemies(), getEnemy(), getTotalEntityCount(), and processDestroyQueue().
|
private |
Entity metadata by network ID.
Definition at line 366 of file EntityManager.hpp.
Referenced by clear(), getEntityMetadata(), getEntityMetadata(), registerEntity(), unregisterEntity(), and updateLifetimes().
|
private |
Reverse lookup map.
Definition at line 375 of file EntityManager.hpp.
Referenced by clear(), getNetworkIdForEntity(), registerEntity(), and unregisterEntity().
|
private |
Next available enemy network ID.
Definition at line 378 of file EntityManager.hpp.
Referenced by createAdvancedEnemy(), createBasicEnemy(), and createBoss().
|
private |
Next available powerup network ID.
Definition at line 380 of file EntityManager.hpp.
|
private |
Next available projectile network ID.
Definition at line 379 of file EntityManager.hpp.
Referenced by createEnemyProjectile(), and createPlayerProjectile().
|
private |
Player entities by session ID.
Definition at line 360 of file EntityManager.hpp.
Referenced by clear(), createPlayer(), getAlivePlayerCount(), getAllEntityStates(), getPlayer(), getPlayerEntity(), getPlayers(), getTotalEntityCount(), hasPlayer(), and processDestroyQueue().
|
private |
Player scores by session ID.
Definition at line 372 of file EntityManager.hpp.
Referenced by addScore(), createPlayer(), getScore(), processDestroyQueue(), and resetScore().
|
private |
Powerup entities by network ID.
Definition at line 363 of file EntityManager.hpp.
Referenced by clear(), getTotalEntityCount(), and processDestroyQueue().
|
private |
Projectile entities by network ID.
Definition at line 362 of file EntityManager.hpp.
Referenced by clear(), createEnemyProjectile(), createPlayerProjectile(), getAllEntityStates(), getProjectile(), getProjectiles(), getTotalEntityCount(), and processDestroyQueue().
|
private |
Reference to ECS registry.
Definition at line 357 of file EntityManager.hpp.
Referenced by clear(), createAdvancedEnemy(), createBasicEnemy(), createBoss(), createEnemyProjectile(), createPlayer(), createPlayerProjectile(), getAllEntityStates(), and processDestroyQueue().