#ifndef INTERACTABLEPLAYER_HPP_INCLUDED #define INTERACTABLEPLAYER_HPP_INCLUDED #include "../../Core/Classes/Player.hpp" #include "../../Core/Classes/PlayerInfo.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 Player : public Internal::Player { public: Player(const Internal::Player& P); Player(const Player& P); std::string GetName() const; Internal::PlayerInfo GetInfo() const; std::vector GetModel() const; Convex GetConvex() const; Box GetBox() const; Point GetPoint() const; double GetVisibility() const; Tile GetTile() const; // Angle - Calculates the angle you the tile to be in relation to your player, 0 = north, 90 = east, 180 = south, 270 = west void RotateTo(std::int32_t Angle = 0) const; Internal::Character GetInteracting() const; bool Interacting() const; bool Interacting(const Internal::Character& C) const; bool Interact(const Button& B = BUTTON_LEFT) const; bool Interact(const std::string& Option) const; bool Interact(const std::vector& Options) const; operator Internal::Player() const; }; } #endif // INTERACTABLEPLAYER_HPP_INCLUDED