39class UrUITutorialsBrowser:
public ToyMaker::SimObjectAspect<UrUITutorialsBrowser> {
42 UrUITutorialsBrowser(): ToyMaker::SimObjectAspect<UrUITutorialsBrowser>{0} {}
43 inline static std::string getSimObjectAspectTypeName() {
return "UrUITutorialsBrowser"; }
44 static std::shared_ptr<BaseSimObjectAspect> create(
const nlohmann::json& jsonAspectProperties);
45 std::shared_ptr<BaseSimObjectAspect> clone()
const override;
47 void loadScene(
const std::string& sceneResourceName);
51 std::string mTutorialsFilepath {};
52 std::string mTutorialTextAspect {};
53 std::string mTutorialHeadingAspect {};
54 std::string mTutorialImageAspect {};
55 std::vector<TutorialContent> mTutorials {};
57 void onActivated()
override;
59 void onButtonClicked(
const std::string& button);
61 bool hasPage(uint32_t page)
const;
62 void openPage(uint32_t page);
67 ToyMaker::SignalObserver<const std::string&> mObserveButtonClicked {
68 *
this,
"ButtonClickedObserved",
69 [
this](
const std::string& button) { this->onButtonClicked(button); }
The data associated with a single tutorial page.
Definition ur_ui_tutorials_browser.hpp:28