Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
Loading...
Searching...
No Matches
rtp::client::scenes::CreateRoomScene Class Reference

Scene for creating a new game room. More...

#include <CreateRoomScene.hpp>

Inheritance diagram for rtp::client::scenes::CreateRoomScene:
Collaboration diagram for rtp::client::scenes::CreateRoomScene:

Public Types

using ChangeStateFn = std::function< void(GameState)>
 Type alias for a function that changes the game state.
 

Public Member Functions

 CreateRoomScene (ecs::Registry &UiRegistry, Settings &settings, TranslationManager &translationManager, NetworkSyncSystem &network, graphics::UiFactory &uiFactory, std::function< void(GameState)> changeState)
 Constructor for CreateRoomScene.
 
void onEnter (void) override
 Called when the scene is entered.
 
void onExit (void) override
 Called when the scene is exited.
 
void handleEvent (const sf::Event &event) override
 Handle an incoming event.
 
void update (float dt) override
 Update the scene state.
 
- Public Member Functions inherited from rtp::client::interfaces::IScene
virtual ~IScene (void)=default
 

Private Attributes

ecs::Registry_uiRegistry
 Reference to the ECS registry.
 
Settings_settings
 Reference to the application settings.
 
TranslationManager_translationManager
 Reference to the translation manager.
 
NetworkSyncSystem_network
 Reference to the client network.
 
graphics::UiFactory_uiFactory
 UI Factory for creating UI components.
 
ChangeStateFn _changeState
 Function to change the game state.
 
std::string _uiRoomName = "Room"
 Name of the room to be created.
 
uint32_t _uiMaxPlayers = 4
 Maximum number of players in the room.
 
float _uiDifficulty = 0.5f
 Difficulty setting for the room.
 
float _uiSpeed = 1.0f
 Game speed setting for the room.
 
uint32_t _uiDuration = 10
 Duration of the game in minutes.
 
uint32_t _uiSeed = 42
 Seed for random generation.
 
uint32_t _uiLevelId = 1
 Level ID for the game.
 

Detailed Description

Scene for creating a new game room.

This scene allows players to set up a new game room by specifying parameters such as room name, maximum players, and game settings.

Definition at line 31 of file CreateRoomScene.hpp.

Member Typedef Documentation

◆ ChangeStateFn

Type alias for a function that changes the game state.

Definition at line 51 of file CreateRoomScene.hpp.

Constructor & Destructor Documentation

◆ CreateRoomScene()

rtp::client::scenes::CreateRoomScene::CreateRoomScene ( ecs::Registry UiRegistry,
Settings settings,
TranslationManager translationManager,
NetworkSyncSystem network,
graphics::UiFactory uiFactory,
std::function< void(GameState)>  changeState 
)

Constructor for CreateRoomScene.

Parameters
registryReference to the ECS registry
settingsReference to the application settings
networkReference to the client network
windowReference to the SFML render window

Definition at line 17 of file CreateRoomScene.cpp.

Member Function Documentation

◆ handleEvent()

void rtp::client::scenes::CreateRoomScene::handleEvent ( const sf::Event &  event)
overridevirtual

Handle an incoming event.

Parameters
eventThe event to handle.

Implements rtp::client::interfaces::IScene.

Definition at line 165 of file CreateRoomScene.cpp.

◆ onEnter()

◆ onExit()

void rtp::client::scenes::CreateRoomScene::onExit ( void  )
overridevirtual

Called when the scene is exited.

Implements rtp::client::interfaces::IScene.

Definition at line 160 of file CreateRoomScene.cpp.

References rtp::log::info().

◆ update()

void rtp::client::scenes::CreateRoomScene::update ( float  dt)
overridevirtual

Member Data Documentation

◆ _changeState

ChangeStateFn rtp::client::scenes::CreateRoomScene::_changeState
private

Function to change the game state.

Definition at line 81 of file CreateRoomScene.hpp.

Referenced by onEnter(), and update().

◆ _network

NetworkSyncSystem& rtp::client::scenes::CreateRoomScene::_network
private

Reference to the client network.

Definition at line 79 of file CreateRoomScene.hpp.

Referenced by onEnter(), and update().

◆ _settings

Settings& rtp::client::scenes::CreateRoomScene::_settings
private

Reference to the application settings.

Definition at line 77 of file CreateRoomScene.hpp.

◆ _translationManager

TranslationManager& rtp::client::scenes::CreateRoomScene::_translationManager
private

Reference to the translation manager.

Definition at line 78 of file CreateRoomScene.hpp.

◆ _uiDifficulty

float rtp::client::scenes::CreateRoomScene::_uiDifficulty = 0.5f
private

Difficulty setting for the room.

Definition at line 85 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiDuration

uint32_t rtp::client::scenes::CreateRoomScene::_uiDuration = 10
private

Duration of the game in minutes.

Definition at line 87 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiFactory

graphics::UiFactory& rtp::client::scenes::CreateRoomScene::_uiFactory
private

UI Factory for creating UI components.

Definition at line 80 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiLevelId

uint32_t rtp::client::scenes::CreateRoomScene::_uiLevelId = 1
private

Level ID for the game.

Definition at line 89 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiMaxPlayers

uint32_t rtp::client::scenes::CreateRoomScene::_uiMaxPlayers = 4
private

Maximum number of players in the room.

Definition at line 84 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiRegistry

ecs::Registry& rtp::client::scenes::CreateRoomScene::_uiRegistry
private

Reference to the ECS registry.

Definition at line 76 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiRoomName

std::string rtp::client::scenes::CreateRoomScene::_uiRoomName = "Room"
private

Name of the room to be created.

Definition at line 83 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiSeed

uint32_t rtp::client::scenes::CreateRoomScene::_uiSeed = 42
private

Seed for random generation.

Definition at line 88 of file CreateRoomScene.hpp.

Referenced by onEnter().

◆ _uiSpeed

float rtp::client::scenes::CreateRoomScene::_uiSpeed = 1.0f
private

Game speed setting for the room.

Definition at line 86 of file CreateRoomScene.hpp.

Referenced by onEnter().


The documentation for this class was generated from the following files: