27#include "utility/event/hand_event.hpp"
29namespace utility::event
50 std::shared_ptr<Event>
create(
void)
const override;
56 std::shared_ptr<HandThumbStickEvent>
createTyped(
void)
const;
67 bool _isTouched {
false };
70 bool _isClicked {
false };
90 float getX(
void)
const noexcept;
103 float getY(
void)
const noexcept;
Abstract factory interface for creating events.
Abstract base class for hand events.
Factory for creating HandThumbStickEvent instances.
std::shared_ptr< Event > create(void) const override
Create a HandThumbStickEvent as base Event pointer.
std::shared_ptr< HandThumbStickEvent > createTyped(void) const
Create a strongly-typed HandThumbStickEvent.
bool isButtonPressed(void) const noexcept
Get clicked state.
HandThumbStickEvent & setButtonPressed(const bool clicked) noexcept
Set clicked state.
float getX(void) const noexcept
Get X axis value.
HandThumbStickEvent & setY(const float y) noexcept
Set Y axis value.
bool isTouched(void) const noexcept
Get touched state.
HandThumbStickEvent & setTouched(const bool touched) noexcept
Set touched state.
HandThumbStickEvent & setAxis(const float x, const float y) noexcept
Set both axis values.
HandThumbStickEvent(void)
Default constructor.
HandThumbStickEvent & setX(const float x) noexcept
Set X axis value.
float getY(void) const noexcept
Get Y axis value.