#ifndef LIGHTKEEPER_WINSCREENUI_H #define LIGHTKEEPER_WINSCREENUI_H #include #include // 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; void Reflect(FieldVisitor& v) 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