26 SDL_AppResult
event(SDL_Event*
event)
override;
27 SDL_AppResult
iterate()
override;
41 std::optional<JoinRequest>
ImGui widget for the main menu server join form.
Abstract interface for top-level application screens (lobby, in-game).
Work-in-progress SDL3 GPU renderer.
IScreen implementation for the main menu; hosts the server join form.
Definition Home.hpp:20
std::optional< JoinRequest > pendingJoinRequest
Set when the user clicks "Join", cleared on App transition to Lobby.
Definition Home.hpp:42
SDL_AppResult iterate() override
Update the screen state and render the next frame.
Definition Home.cpp:34
bool init(NewRenderer *rendererPtr, SDL_Window *windowPtr)
Bind renderer and window; must be called before iterate().
Definition Home.cpp:13
NewRenderer * renderer
Renderer; not owned.
Definition Home.hpp:38
JoinMenuState joinMenuState
Mutable state backing the join form widgets.
Definition Home.hpp:40
SDL_Window * window
Application window; not owned.
Definition Home.hpp:39
SDL_AppResult event(SDL_Event *event) override
Handle an incoming SDL event.
Definition Home.cpp:23
std::string joinError
Error message shown on the join form; empty when no error.
Definition Home.hpp:43
void quit() override
Perform any necessary cleanup before the screen is destroyed.
Definition Home.cpp:32
std::optional< JoinRequest > consumeJoinRequest()
Take the pending join request set when the user clicks "Join", clearing it.
Definition Home.cpp:56
void setJoinError(const std::string &error)
Display an error string on the join form (e.g. from a failed connection attempt).
Definition Home.cpp:67
Interface implemented by each full-screen mode (Lobby, Game).
Definition IScreen.hpp:12
Graphics-team's work-in-progress SDL3 GPU renderer.
Definition NewRenderer.hpp:27
Server address and port entered by the user on the home screen.
Definition Home.hpp:13
uint16_t serverPort
TCP port of the target server.
Definition Home.hpp:15
std::string serverIp
Hostname or IP address of the target server.
Definition Home.hpp:14