#ifndef INTERACTABLEGAMEOBJECT_HPP_INCLUDED #define INTERACTABLEGAMEOBJECT_HPP_INCLUDED #include "../../Core/Classes/GameObject.hpp" #include "../../Core/Classes/ObjectInfo.hpp" #include "../../Core/Types/Tile.hpp" #include "../../Core/Types/Point.hpp" #include "../../Core/Types/Box.hpp" #include "../../Core/Types/Convex.hpp" #include "../../Core/Input.hpp" #include namespace Interactable { class GameObject : public Internal::GameObject { public: GameObject(const Internal::GameObject& G); GameObject(const GameObject& G); std::int32_t GetID() const; std::string GetName() const; Internal::ObjectInfo GetInfo() const; Box GetBox() const; Point GetPoint() const; Convex GetConvex() const; std::vector GetModel() const; double GetVisibility() const; Tile GetTile() const; bool Interact(const Button& B = BUTTON_LEFT) const; bool Interact(const std::string& Option) const; bool Interact(const std::vector& Options, bool RequireAllOptions = false) const; operator Internal::GameObject() const; }; } #endif // INTERACTABLEGAMEOBJECT_HPP_INCLUDED