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::LoginScene Class Reference

Scene for user login. More...

#include <LoginScene.hpp>

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

Public Types

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

Public Member Functions

 LoginScene (ecs::Registry &UiRegistry, Settings &settings, TranslationManager &translationManager, NetworkSyncSystem &network, graphics::UiFactory &uiFactory, std::function< void(GameState)> changeState)
 Constructor for LoginScene.
 
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 _uiUsername
 Username input from the UI.
 
std::string _uiPassword
 Password input from the UI.
 

Detailed Description

Scene for user login.

This scene handles user authentication, including input fields for username and password, and a login button.

Definition at line 31 of file LoginScene.hpp.

Member Typedef Documentation

◆ ChangeStateFn

Type alias for a function that changes the game state.

Definition at line 51 of file LoginScene.hpp.

Constructor & Destructor Documentation

◆ LoginScene()

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

Constructor for LoginScene.

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 LoginScene.cpp.

Member Function Documentation

◆ handleEvent()

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

Handle an incoming event.

Parameters
eventThe event to handle.

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

Definition at line 111 of file LoginScene.cpp.

◆ onEnter()

◆ onExit()

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

Called when the scene is exited.

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

Definition at line 106 of file LoginScene.cpp.

References rtp::log::info().

◆ update()

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

Update the scene state.

Parameters
dtTime delta since the last update.

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

Definition at line 116 of file LoginScene.cpp.

References _changeState, _network, rtp::client::NetworkSyncSystem::isLoggedIn(), and rtp::client::Menu.

Member Data Documentation

◆ _changeState

ChangeStateFn rtp::client::scenes::LoginScene::_changeState
private

Function to change the game state.

Definition at line 81 of file LoginScene.hpp.

Referenced by update().

◆ _network

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

Reference to the client network.

Definition at line 79 of file LoginScene.hpp.

Referenced by onEnter(), and update().

◆ _settings

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

Reference to the application settings.

Definition at line 77 of file LoginScene.hpp.

Referenced by onEnter().

◆ _translationManager

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

Reference to the translation manager.

Definition at line 78 of file LoginScene.hpp.

◆ _uiFactory

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

UI Factory for creating UI components.

Definition at line 80 of file LoginScene.hpp.

Referenced by onEnter().

◆ _uiPassword

std::string rtp::client::scenes::LoginScene::_uiPassword
private

Password input from the UI.

Definition at line 84 of file LoginScene.hpp.

Referenced by onEnter().

◆ _uiRegistry

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

Reference to the ECS registry.

Definition at line 76 of file LoginScene.hpp.

Referenced by onEnter().

◆ _uiUsername

std::string rtp::client::scenes::LoginScene::_uiUsername
private

Username input from the UI.

Definition at line 83 of file LoginScene.hpp.

Referenced by onEnter().


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