group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
Home.hpp
Go to the documentation of this file.
1
3
4#include "IScreen.hpp"
7
8#include <optional>
9#include <string>
10
13{
14 std::string serverIp;
15 uint16_t serverPort;
16};
17
19class Home : public IScreen
20{
21public:
24 bool init(NewRenderer* rendererPtr, SDL_Window* windowPtr);
25
26 SDL_AppResult event(SDL_Event* event) override;
27 SDL_AppResult iterate() override;
28 void quit() override;
29
32 std::optional<JoinRequest> consumeJoinRequest();
33
35 void setJoinError(const std::string& error);
36
37private:
38 NewRenderer* renderer = nullptr;
39 SDL_Window* window = nullptr;
41 std::optional<JoinRequest>
43 std::string joinError;
44};
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
Mutable widget state for the server join form.
Definition HomeUI.hpp:11
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