#ifndef LIGHTKEEPER_WINGOAL_H #define LIGHTKEEPER_WINGOAL_H #include class WinGoal final : public Activatable { public: explicit WinGoal(GameObject& parent); std::string GetTypeName() const override { return "WinGoal"; } nlohmann::json Serialize() const override; void Deserialize(const nlohmann::json& data) override; void ImGuiInspector() override; [[nodiscard]] bool IsReached() const { return m_Reached; } void Reset() { m_Reached = false; } protected: void OnActivate(GameObject& instigator) override; private: bool m_Reached{false}; }; #endif // LIGHTKEEPER_WINGOAL_H