2018-03-27 02:51:41 +00:00
|
|
|
#ifndef INTERACTABLEDECORATIVEOBJECT_HPP_INCLUDED
|
|
|
|
#define INTERACTABLEDECORATIVEOBJECT_HPP_INCLUDED
|
|
|
|
|
|
|
|
#include "../../Core/Classes/DecorativeObject.hpp"
|
|
|
|
#include "../../Core/Classes/ObjectInfo.hpp"
|
|
|
|
#include "../../Core/Types/Tile.hpp"
|
|
|
|
#include "../../Core/Types/Point.hpp"
|
2018-05-10 01:08:38 +00:00
|
|
|
#include "../../Core/Types/Box.hpp"
|
2018-03-27 02:51:41 +00:00
|
|
|
#include "../../Core/Types/Convex.hpp"
|
2018-09-03 03:13:53 +00:00
|
|
|
#include "../../Core/Types/Wireframe.hpp"
|
2018-05-10 01:08:38 +00:00
|
|
|
#include "../../Core/Input.hpp"
|
2018-06-28 02:22:43 +00:00
|
|
|
#include "../../Game/Tools/Camera.hpp"
|
2018-03-27 02:51:41 +00:00
|
|
|
#include <cstdint>
|
|
|
|
|
|
|
|
namespace Interactable
|
|
|
|
{
|
|
|
|
class DecorativeObject : public Internal::DecorativeObject
|
|
|
|
{
|
|
|
|
public:
|
2018-05-10 01:08:38 +00:00
|
|
|
DecorativeObject(const Internal::DecorativeObject& D);
|
|
|
|
DecorativeObject(const DecorativeObject& D);
|
2018-03-27 02:51:41 +00:00
|
|
|
|
|
|
|
std::int32_t GetID() const;
|
|
|
|
std::string GetName() const;
|
|
|
|
Internal::ObjectInfo GetInfo() const;
|
2018-05-10 01:08:38 +00:00
|
|
|
|
2018-05-15 03:41:51 +00:00
|
|
|
std::vector<Point> GetModel() const;
|
2018-09-03 03:13:53 +00:00
|
|
|
Wireframe GetWireframe() const;
|
|
|
|
|
2018-05-15 03:41:51 +00:00
|
|
|
Convex GetConvex() const;
|
2018-05-10 01:08:38 +00:00
|
|
|
Box GetBox() const;
|
|
|
|
Point GetPoint() const;
|
2018-06-28 02:22:43 +00:00
|
|
|
Point GetPoint(double PointGenAccuracy) const;
|
2018-05-10 01:08:38 +00:00
|
|
|
|
|
|
|
double GetVisibility() const;
|
|
|
|
Tile GetTile() const;
|
2018-07-13 21:41:07 +00:00
|
|
|
Tile GetReachableTile() const;
|
|
|
|
bool IsReachable() const;
|
2018-06-28 02:22:43 +00:00
|
|
|
bool RotateTo(std::int32_t Angle = 0) const;
|
|
|
|
bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
|
2018-05-10 01:08:38 +00:00
|
|
|
|
2018-06-28 02:22:43 +00:00
|
|
|
bool Hover() const;
|
2018-05-10 01:08:38 +00:00
|
|
|
bool Interact(const Button& B = BUTTON_LEFT) const;
|
2018-06-28 02:22:43 +00:00
|
|
|
bool Interact(const std::string& Option, bool CheckTarget = true) const;
|
|
|
|
bool Interact(const std::vector<std::string>& Options, bool CheckTarget = true) const;
|
2018-03-27 02:51:41 +00:00
|
|
|
|
|
|
|
operator Internal::DecorativeObject() const;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endif // INTERACTABLEDECORATIVEOBJECT_HPP_INCLUDED
|