11#include <unordered_map>
17#include "Systems/NetworkSyncSystem.hpp"
92 std::optional<LevelData>
loadLevel(uint32_t levelId)
const;
99 std::unordered_map<uint32_t,
101 std::unordered_map<uint32_t,
Represents an entity in the ECS (Entity-Component-System) architecture.
Base class for systems that operate on entities in the ECS.
void stopLevelForRoom(uint32_t roomId)
Stop the level for a specific room.
const LevelData * getLevelData(uint32_t roomId) const
Get the level data for a specific room.
void spawnEntityForRoom(uint32_t roomId, const ecs::Entity &entity)
Spawn an entity for a specific room.
RoomSystem & _roomSystem
Reference to the RoomSystem.
std::unordered_map< uint32_t, std::string > _levelPaths
Level file paths mapped by level ID.
void startLevelForRoom(uint32_t roomId, uint32_t levelId)
Start a level for a specific room.
std::optional< LevelData > loadLevel(uint32_t levelId) const
Load level data from a file.
NetworkSyncSystem & _networkSync
Reference to the NetworkSyncSystem.
ecs::Registry & _registry
Reference to the entity registry.
void registerLevelPath(uint32_t levelId, const std::string &path)
Register a level file path with a level ID.
EntitySystem & _entitySystem
Reference to the EntitySystem.
void update(float dt)
Update system logic for one frame.
std::unordered_map< uint32_t, ActiveLevel > _activeLevels
Active levels mapped by room ID.
System to handle network-related operations on the server side.
System to handle room-related operations on the server side.
File : GameManager.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias-josue....
Struct to hold active level data for a room.