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

Scene for configuring gamepad settings. More...

#include <GamepadSettingsScene.hpp>

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

Public Types

using ChangeStateFn = std::function< void(GameState)>
 

Public Member Functions

 GamepadSettingsScene (ecs::Registry &UiRegistry, Settings &settings, TranslationManager &translationManager, NetworkSyncSystem &network, graphics::UiFactory &uiFactory, std::function< void(GameState)> changeState)
 
void onEnter () override
 Called when the scene is entered.
 
void onExit () 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 Member Functions

void refreshButtonLabel (GamepadAction action)
 
std::string getButtonName (unsigned int button) const
 

Private Attributes

ecs::Registry_uiRegistry
 
Settings_settings
 
TranslationManager_translationManager
 
NetworkSyncSystem_network
 
graphics::UiFactory_uiFactory
 
ChangeStateFn _changeState
 
bool _isWaitingForButton {false}
 
GamepadAction _actionToRebind
 
std::unordered_map< GamepadAction, ecs::Entity_actionToButton
 

Detailed Description

Scene for configuring gamepad settings.

Definition at line 36 of file GamepadSettingsScene.hpp.

Member Typedef Documentation

◆ ChangeStateFn

Definition at line 46 of file GamepadSettingsScene.hpp.

Constructor & Destructor Documentation

◆ GamepadSettingsScene()

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

Definition at line 18 of file GamepadSettingsScene.cpp.

Member Function Documentation

◆ getButtonName()

std::string rtp::client::scenes::GamepadSettingsScene::getButtonName ( unsigned int  button) const
private

Definition at line 300 of file GamepadSettingsScene.cpp.

Referenced by handleEvent(), onEnter(), and refreshButtonLabel().

◆ handleEvent()

◆ onEnter()

◆ onExit()

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

Called when the scene is exited.

Note
Used for cleaning up scene-specific resources.

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

Definition at line 197 of file GamepadSettingsScene.cpp.

References _isWaitingForButton.

◆ refreshButtonLabel()

◆ update()

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

Update the scene state.

Parameters
dtTime delta since the last update.

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

Definition at line 250 of file GamepadSettingsScene.cpp.

Member Data Documentation

◆ _actionToButton

std::unordered_map<GamepadAction, ecs::Entity> rtp::client::scenes::GamepadSettingsScene::_actionToButton
private

Definition at line 66 of file GamepadSettingsScene.hpp.

Referenced by onEnter(), and refreshButtonLabel().

◆ _actionToRebind

GamepadAction rtp::client::scenes::GamepadSettingsScene::_actionToRebind
private

Definition at line 65 of file GamepadSettingsScene.hpp.

Referenced by handleEvent(), and onEnter().

◆ _changeState

ChangeStateFn rtp::client::scenes::GamepadSettingsScene::_changeState
private

Definition at line 62 of file GamepadSettingsScene.hpp.

Referenced by onEnter().

◆ _isWaitingForButton

bool rtp::client::scenes::GamepadSettingsScene::_isWaitingForButton {false}
private

Definition at line 64 of file GamepadSettingsScene.hpp.

Referenced by handleEvent(), onEnter(), onExit(), and refreshButtonLabel().

◆ _network

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

Definition at line 60 of file GamepadSettingsScene.hpp.

◆ _settings

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

Definition at line 58 of file GamepadSettingsScene.hpp.

Referenced by handleEvent(), onEnter(), and refreshButtonLabel().

◆ _translationManager

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

Definition at line 59 of file GamepadSettingsScene.hpp.

Referenced by onEnter().

◆ _uiFactory

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

Definition at line 61 of file GamepadSettingsScene.hpp.

Referenced by onEnter().

◆ _uiRegistry

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

Definition at line 57 of file GamepadSettingsScene.hpp.

Referenced by onEnter(), and refreshButtonLabel().


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