|
Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
|
Scene for configuring gamepad settings. More...
#include <GamepadSettingsScene.hpp>
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 |
Scene for configuring gamepad settings.
Definition at line 36 of file GamepadSettingsScene.hpp.
| using rtp::client::scenes::GamepadSettingsScene::ChangeStateFn = std::function<void(GameState)> |
Definition at line 46 of file GamepadSettingsScene.hpp.
| 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.
|
private |
Definition at line 300 of file GamepadSettingsScene.cpp.
Referenced by handleEvent(), onEnter(), and refreshButtonLabel().
|
overridevirtual |
Handle an incoming event.
| event | The event to handle. |
Implements rtp::client::interfaces::IScene.
Definition at line 202 of file GamepadSettingsScene.cpp.
References _actionToRebind, _isWaitingForButton, _settings, getButtonName(), rtp::client::Settings::getGamepadEnabled(), rtp::log::info(), rtp::client::scenes::Pause, refreshButtonLabel(), rtp::client::scenes::Reload, rtp::client::Settings::save(), rtp::client::Settings::setGamepadPauseButton(), rtp::client::Settings::setGamepadReloadButton(), rtp::client::Settings::setGamepadShootButton(), and rtp::client::scenes::Shoot.
|
overridevirtual |
Called when the scene is entered.
Implements rtp::client::interfaces::IScene.
Definition at line 33 of file GamepadSettingsScene.cpp.
References _actionToButton, _actionToRebind, _changeState, _isWaitingForButton, _settings, _translationManager, _uiFactory, _uiRegistry, rtp::client::graphics::UiFactory::createButton(), rtp::client::graphics::UiFactory::createDropdown(), rtp::client::graphics::UiFactory::createSlider(), rtp::client::graphics::UiFactory::createText(), rtp::client::TranslationManager::get(), getButtonName(), rtp::client::Settings::getGamepadDeadzone(), rtp::client::Settings::getGamepadEnabled(), rtp::client::Settings::getGamepadPauseButton(), rtp::client::Settings::getGamepadReloadButton(), rtp::client::Settings::getGamepadShootButton(), rtp::log::info(), rtp::client::scenes::Pause, refreshButtonLabel(), rtp::client::scenes::Reload, rtp::client::Settings::save(), rtp::client::Settings::setGamepadDeadzone(), rtp::client::Settings::setGamepadEnabled(), rtp::client::Settings, and rtp::client::scenes::Shoot.
|
overridevirtual |
Called when the scene is exited.
Implements rtp::client::interfaces::IScene.
Definition at line 197 of file GamepadSettingsScene.cpp.
References _isWaitingForButton.
|
private |
Definition at line 259 of file GamepadSettingsScene.cpp.
References _actionToButton, _isWaitingForButton, _settings, _uiRegistry, rtp::log::error(), rtp::ecs::Registry::get(), getButtonName(), rtp::client::Settings::getGamepadPauseButton(), rtp::client::Settings::getGamepadReloadButton(), rtp::client::Settings::getGamepadShootButton(), rtp::client::scenes::Pause, rtp::client::scenes::Reload, rtp::client::scenes::Shoot, and rtp::log::warning().
Referenced by handleEvent(), and onEnter().
|
overridevirtual |
Update the scene state.
| dt | Time delta since the last update. |
Implements rtp::client::interfaces::IScene.
Definition at line 250 of file GamepadSettingsScene.cpp.
|
private |
Definition at line 66 of file GamepadSettingsScene.hpp.
Referenced by onEnter(), and refreshButtonLabel().
|
private |
Definition at line 65 of file GamepadSettingsScene.hpp.
Referenced by handleEvent(), and onEnter().
|
private |
Definition at line 62 of file GamepadSettingsScene.hpp.
Referenced by onEnter().
|
private |
Definition at line 64 of file GamepadSettingsScene.hpp.
Referenced by handleEvent(), onEnter(), onExit(), and refreshButtonLabel().
|
private |
Definition at line 60 of file GamepadSettingsScene.hpp.
|
private |
Definition at line 58 of file GamepadSettingsScene.hpp.
Referenced by handleEvent(), onEnter(), and refreshButtonLabel().
|
private |
Definition at line 59 of file GamepadSettingsScene.hpp.
Referenced by onEnter().
|
private |
Definition at line 61 of file GamepadSettingsScene.hpp.
Referenced by onEnter().
|
private |
Definition at line 57 of file GamepadSettingsScene.hpp.
Referenced by onEnter(), and refreshButtonLabel().