Game of Ur 0.3.3
This is a computer adaptation of Game of Ur, written in C++ mainly using SDL and OpenGL.
Loading...
Searching...
No Matches
ur_ui_volume_control.hpp
1
11
12#ifndef ZOAPPVOLUMECONTROL_H
13#define ZOAPPVOLUMECONTROL_H
14
15#include <toymaker/engine/sim_system.hpp>
16
23class UrUIVolumeControl: public ToyMaker::SimObjectAspect<UrUIVolumeControl> {
24public:
25 UrUIVolumeControl(): ToyMaker::SimObjectAspect<UrUIVolumeControl>{ 0 } {}
26 inline static std::string getSimObjectAspectTypeName() { return "UrUIVolumeControl"; }
27 static std::shared_ptr<ToyMaker::BaseSimObjectAspect> create(const nlohmann::json& jsonAspectProperties);
28 std::shared_ptr<BaseSimObjectAspect> clone() const override;
29
30private:
31 std::string mPathVolumeUp { "" };
32 std::string mPathVolumeDown { "" };
33 std::string mPathVolume { "" };
34
35 void onButtonClicked(const std::string& button);
36 void onButtonHoveredOver(const std::string& button);
37 void updateControls();
38
39 void onActivated() override;
40
41public:
42 ToyMaker::SignalObserver<const std::string&> mObserveButtonClicked {
43 *this, "ButtonClickedObserved",
44 [this](const std::string& button) { this->onButtonClicked(button); }
45 };
46 ToyMaker::SignalObserver<const std::string&> mObserveButtonHoveredOver {
47 *this, "ButtonHoveredOverObserved",
48 [this](const std::string& button) { this->onButtonHoveredOver(button); }
49 };
50};
51
52#endif
53