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_navigation.hpp
Go to the documentation of this file.
1
11
12#ifndef ZOAPPUINAVIGATION_H
13#define ZOAPPUINAVIGATION_H
14
15#define GLM_ENABLE_EXPERIMENTAL
16#include <glm/gtx/string_cast.hpp>
17#include "toymaker/sim_system.hpp"
18
19
25class UrUINavigation: public ToyMaker::SimObjectAspect<UrUINavigation> {
26public:
27 UrUINavigation(): ToyMaker::SimObjectAspect<UrUINavigation>{0} {}
28 inline static std::string getSimObjectAspectTypeName() { return "UrUINavigation"; }
29 static std::shared_ptr<BaseSimObjectAspect> create(const nlohmann::json& jsonAspectProperties);
30 std::shared_ptr<BaseSimObjectAspect> clone() const override;
31
32 void loadScene(const std::string& sceneResourceName);
33
34private:
35 std::string mSceneManagerPath {};
36
37 void onButtonClicked(const std::string& button);
38
39public:
41 *this, "ButtonClickedObserved",
42 [this](const std::string& button) { this->onButtonClicked(button); }
43 };
44};
45
46#endif
A SignalObserver object, which can subscribe to Signals matching its data signature and receive signa...
Definition signals.hpp:412
An object containing closely related methods and data, and exposing object lifecycle and application ...
Definition sim_system.hpp:956
std::shared_ptr< BaseSimObjectAspect > clone() const override
A method which must be overridden to specify how a new aspect should be constructed as a copy of this...
Definition ur_ui_navigation.cpp:10