#pragma once #include "ehs/EHS.h" #include "Button.h" namespace ehs { enum class State { JUST_RELEASED, RELEASED, PRESSED, TOUCHED }; class EHS_LIB_IO ButtonState { private: Button button; State state; bool pressed; float threshold; public: ButtonState(); ButtonState(const Button& button, const State state); ButtonState(const ButtonState& bs); ButtonState& operator=(const ButtonState& bs); bool operator==(const Button& other) const; bool operator!=(const Button& other) const; bool operator==(const State otherState) const; bool operator!=(const State otherState) const; Button GetButton() const; void SetState(State newState); State GetState() const; void SetPressed(bool value); bool IsPressed() const; void SetThreshold(const float newThreshold); float GetThreshold() const; }; }