101 std::function<void(
const std::string &roomName,
int maxPlayers)>
onCreate;
119 const std::vector<std::string>
m_options = {
"Room Name",
"Max Players",
"Create",
"Back"};
Abstract class for scene.
Scene for creating and configuring new multiplayer lobbies.
std::string m_roomName
Current room name input (default: "My Room")
void update(float dt, const eng::WindowSize &size) override
Update the scene (called each frame)
void processEventBus() const
Process events from the event bus.
bool & playMusic()
Get reference to music playback flag.
const std::vector< std::string > m_options
size_t m_selectedIndex
Currently selected menu option index.
void updateValueDisplay()
Update the visual display of configuration values.
CreateRoomScene & operator=(CreateRoomScene &&other)=delete
Deleted move assignment operator (non-movable)
std::function< void(int lobbyId, const rnp::LobbyInfo *lobbyInfo)> onRoomCreated
Callback invoked when room is successfully created on server.
~CreateRoomScene() override=default
Destructor.
CreateRoomScene(const CreateRoomScene &other)=delete
Deleted copy constructor (non-copyable)
int m_maxPlayers
Maximum players setting (default: 4)
ecs::Entity m_titleEntity
Title text entity.
std::function< void()> onBackToMulti
Callback invoked when player navigates back to multiplayer menu.
float m_animationTime
Animation timer for visual effects.
ecs::Entity m_roomNameValueEntity
Text entity displaying room name.
CreateRoomScene(CreateRoomScene &&other)=delete
Deleted move constructor (non-movable)
ecs::Entity m_maxPlayersValueEntity
Text entity displaying max players.
std::function< void(const std::string &roomName, int maxPlayers)> onCreate
Callback invoked when player creates a room.
void event(const eng::Event &event) override
Handle input events.
void createRoom() const
Send lobby creation request to server.
bool m_playMusic
Music playback state flag.
CreateRoomScene & operator=(const CreateRoomScene &other)=delete
Deleted copy assignment operator (non-copyable)
CreateRoomScene(eng::id assignedId, const std::shared_ptr< eng::IRenderer > &renderer)
Constructor.
This file contains the IScene class.
Lobby information structure.