16 : _network(network), _registry(registry) {}
27 log::warning(
"Auth: sessionId {} not in _players yet, creating Player now", sessionId);
28 _players[sessionId] = std::make_shared<Player>(sessionId);
31 it->second->setUsername(username);
32 log::info(
"Player created for Session ID {}", sessionId);
38 uint32_t entityId = 0;
42 entityId = itP->second->getEntityId();
45 log::info(
"Player removed for Session ID {}", sessionId);
53 it->second->setUsername(username);
54 log::info(
"Updated username for Session ID {}: {}", sessionId, username);
69 for (
const auto& [sid, player] :
_players) {
70 if (player && player->getUsername() == username) {
PlayerPtr createPlayer(uint32_t sessionId, const std::string &username)
Create a new player for the given session ID.
PlayerPtr getPlayer(uint32_t sessionId) const
Get a player by their session ID.
PlayerSystem(ServerNetwork &network, ecs::Registry ®istry)
Constructor for PlayerSystem.
void update(float dt) override
Update system logic for one frame.
PlayerPtr getPlayerByUsername(const std::string &username) const
Get a player by their username.
std::map< uint32_t, PlayerPtr > _players
Map of session ID to Player instances.
void updatePlayerUsername(uint32_t sessionId, const std::string &username)
Update the username of a player.
uint32_t removePlayer(uint32_t sessionId)
Remove a player by their session ID.
Implementation ASIO du serveur réseau (TCP + UDP)
void warning(LogFmt< std::type_identity_t< Args >... > fmt, Args &&...args) noexcept
Log a warning message.
void info(LogFmt< std::type_identity_t< Args >... > fmt, Args &&...args) noexcept
Log an informational message.
File : GameManager.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias-josue....
std::shared_ptr< Player > PlayerPtr
Shared pointer type for Player.