Files
Destrum/lightkeeper/include/components/WinScreenUI.h
T

33 lines
1.0 KiB
C++

#ifndef LIGHTKEEPER_WINSCREENUI_H
#define LIGHTKEEPER_WINSCREENUI_H
#include <destrum/ObjectModel/Component.h>
#include <destrum/ObjectModel/ObjectRef.h>
// Keeps the screen object active while the goal's WinGoal is reached
class WinScreenUI final : public Component {
public:
explicit WinScreenUI(GameObject& parent);
std::string GetTypeName() const override { return "WinScreenUI"; }
void LateUpdate(float dt) override;
nlohmann::json Serialize() const override;
void Deserialize(const nlohmann::json& data) override;
void ResolveReferences(const ObjectMap& objects) override;
void ImGuiInspector() override;
void SetGoal(const GameObject& goal) { m_Goal = ObjectRef(goal); }
void SetScreen(const GameObject& screen) { m_Screen = ObjectRef(screen); }
[[nodiscard]] const ObjectRef& GetGoal() const { return m_Goal; }
[[nodiscard]] const ObjectRef& GetScreen() const { return m_Screen; }
private:
ObjectRef m_Goal;
ObjectRef m_Screen;
};
#endif // LIGHTKEEPER_WINSCREENUI_H