21#include <SFML/Graphics.hpp>
22#include <SFML/Window.hpp>
42 void update(
float dt)
override;
53 const sf::Vector2i &mousePos);
56 const sf::Vector2i &mousePos);
60 const sf::Vector2i &mousePos);
63 const sf::Vector2i &mousePos);
67 const sf::Vector2i &mousePos);
71 const sf::Vector2i &mousePos)
const;
Interface for ECS systems.
Logger declaration with support for multiple log levels.
Manages game settings and preferences.
System responsible for handling menu interactions.
void updateSliderValue(ecs::components::ui::Slider &slider, const sf::Vector2i &mousePos)
void clearAllTextInputFocus()
void handleMouseMove(const sf::Vector2i &mousePos)
sf::RenderWindow & _window
bool isMouseOverTextInput(const ecs::components::ui::TextInput &input, const sf::Vector2i &mousePos) const
ecs::Registry & _registry
void handleGamepadInput()
void handleTextEntered(std::uint32_t unicode)
bool isMouseOverDropdown(const ecs::components::ui::Dropdown &dropdown, const sf::Vector2i &mousePos)
void focusTextInputAt(const sf::Vector2i &mousePos)
sf::Clock _gamepadButtonClock
void handleEvent(const sf::Event &event)
void update(float dt) override
Update system logic for one frame.
void updateGamepadCursor(float dt)
UISystem(ecs::Registry ®istry, sf::RenderWindow &window, Settings &settings)
sf::Vector2f _gamepadCursorPos
void handleKeyPressed(sf::Keyboard::Key key)
bool isMouseOverSlider(const ecs::components::ui::Slider &slider, const sf::Vector2i &mousePos)
bool isMouseOverButton(const ecs::components::ui::Button &button, const sf::Vector2i &mousePos)
void handleMouseClick(const sf::Vector2i &mousePos)
int getDropdownOptionAtMouse(const ecs::components::ui::Dropdown &dropdown, const sf::Vector2i &mousePos)
void renderGamepadCursor(sf::RenderWindow &window)
Abstract base class for all ECS systems.
Component for dropdown menu selection.
Component for a draggable slider control.