10#ifndef RTYPE_CLIENT_SCENES_KEYBINDINGSCENE_HPP_
11#define RTYPE_CLIENT_SCENES_KEYBINDINGSCENE_HPP_
16#include "Systems/NetworkSyncSystem.hpp"
22#include <SFML/Graphics.hpp>
27#include <unordered_map>
68 std::function<
void(
GameState)> changeState);
86 void onExit(
void)
override;
100 void update(
float dt)
override;
System to handle network-related operations on the client side.
Manages game settings and preferences.
Manages game translations for all UI elements.
Factory class for creating UI components in the ECS registry.
Interface for different scenes in the client application.
void refreshButtonLabel(KeyAction action)
Refresh the label of a button corresponding to a key action.
std::unordered_map< KeyAction, ecs::Entity > _actionToButton
Map of actions to their corresponding button entities.
NetworkSyncSystem & _network
Reference to the client network.
Settings & _settings
Reference to the application settings.
TranslationManager & _translationManager
Reference to the translation manager.
graphics::UiFactory & _uiFactory
UI Factory for creating UI components.
KeyAction _actionToRebind
Action currently being rebound.
bool _isWaitingForKey
Flag indicating if waiting for key input.
void handleEvent(const sf::Event &event) override
Handle an incoming event.
ecs::Registry & _uiRegistry
Reference to the ECS registry.
ChangeStateFn _changeState
Function to change the game state.
void onExit(void) override
Called when the scene is exited.
std::function< void(GameState)> ChangeStateFn
Type alias for a function that changes the game state.
void onEnter(void) override
Called when the scene is entered.
void update(float dt) override
KeyAction
Actions that can be bound to keys.
@ MoveUp
Action for moving up.