#ifndef STAR_INTERACTABLE_OBJECT_HPP #define STAR_INTERACTABLE_OBJECT_HPP #include "StarObject.hpp" #include "StarLoungingEntities.hpp" namespace Star { class LoungeableObject : public Object, public virtual LoungeableEntity { public: LoungeableObject(ObjectConfigConstPtr config, Json const& parameters = Json()); void render(RenderCallback* renderCallback) override; InteractAction interact(InteractRequest const& request) override; size_t anchorCount() const override; LoungeAnchorConstPtr loungeAnchor(size_t positionIndex) const override; protected: void setOrientationIndex(size_t orientationIndex) override; private: List m_sitPositions; bool m_sitFlipDirection; LoungeOrientation m_sitOrientation; float m_sitAngle; String m_sitCoverImage; bool m_flipImages; List m_sitStatusEffects; StringSet m_sitEffectEmitters; Maybe m_sitEmote; Maybe m_sitDance; JsonObject m_sitArmorCosmeticOverrides; Maybe m_sitCursorOverride; }; } #endif