8#ifndef RTYPE_CLIENT_SCENES_LOBBYSCENE_HPP_
9 #define RTYPE_CLIENT_SCENES_LOBBYSCENE_HPP_
15 #include "Systems/NetworkSyncSystem.hpp"
18 #include <SFML/Graphics.hpp>
45 std::function<
void(
GameState)> changeState);
60 void onExit(
void)
override;
72 void update(
float dt)
override;
System to handle network-related operations on the client side.
Manages game settings and preferences.
Manages game translations for all UI elements.
Factory class for creating UI components in the ECS registry.
Interface for different scenes in the client application.
Scene for the game lobby.
NetworkSyncSystem & _network
Reference to the client network.
uint32_t _uiSelectedRoomId
Currently selected room ID in the UI.
ecs::Registry & _uiRegistry
Reference to the ECS registry.
Settings & _settings
Reference to the application settings.
ChangeStateFn _changeState
Function to change the game state.
TranslationManager & _translationManager
Reference to the translation manager.
bool _uiBuilt
Tracks if the UI has been built at least once.
void update(float dt) override
Update the scene state.
void onExit(void) override
Called when the scene is exited.
graphics::UiFactory & _uiFactory
UI Factory for creating UI components.
std::size_t _roomsHash
Hash of the last room list displayed.
void onEnter(void) override
Called when the scene is entered.
void handleEvent(const sf::Event &event) override
Handle an incoming event.
std::function< void(GameState)> ChangeStateFn
Type alias for a function that changes the game state.