Shared lobby data types exchanged between server and clients.
BuildResult buildPlayerList(const LobbyUIConfig &config)
Render the lobby player list window and return any player actions this frame.
Definition LobbyUI.cpp:10
Output from a single lobby UI frame.
Definition LobbyUI.hpp:12
std::optional< bool > readyChange
Desired ready state change: true = ready, false = unready, nullopt = unchanged.
Definition LobbyUI.hpp:14
bool startMatchClicked
True if the host pressed "Start Match" this frame.
Definition LobbyUI.hpp:15
bool returnToMenuClicked
True if the user pressed "Return to Main Menu" this frame.
Definition LobbyUI.hpp:16
Associates an entity with a connected network client.
Definition ClientId.hpp:10
Input data consumed by lobby_ui::buildPlayerList each frame.
Definition LobbyUI.hpp:21
float startCountdownRemaining
Seconds remaining in the countdown.
Definition LobbyUI.hpp:27
bool canStartMatch
True when all non-host players are ready.
Definition LobbyUI.hpp:25
bool isHost
True if the local client is the lobby host.
Definition LobbyUI.hpp:24
bool startCountdownActive
True while the pre-match countdown is running.
Definition LobbyUI.hpp:26
const std::vector< LobbyPlayer > & players
Current snapshot of all connected players.
Definition LobbyUI.hpp:22
ClientId localId
This client's own ID, used to label the local player.
Definition LobbyUI.hpp:23