// Copyright (c) 2008-2023 the Urho3D project // License: MIT #pragma once #include "Sample.h" /// This first example, maintaining tradition, prints a "Hello World" message. /// Furthermore it shows: /// - Using the Sample / Application classes, which initialize the Urho3D engine and run the main loop /// - Adding a Text element to the graphical user interface /// - Subscribing to and handling of update events class HelloWorld : public Sample { URHO3D_OBJECT(HelloWorld, Sample); public: /// Construct. explicit HelloWorld(Context* context); /// Setup after engine initialization and before running the main loop. void Start() override; protected: /// Return XML patch instructions for screen joystick layout for a specific sample app, if any. String GetScreenJoystickPatchString() const override { return "" " " " " " " ""; } private: /// Construct a new Text instance, containing the 'Hello World' String, and add it to the UI root element. void CreateText(); /// Subscribe to application-wide logic update events. void SubscribeToEvents(); /// Handle the logic update event. void HandleUpdate(StringHash eventType, VariantMap& eventData); };