AlpacaLibrary/Include/Game/Interactable/DecorativeObject.hpp

45 lines
1.5 KiB
C++
Raw Normal View History

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-05-10 01:08:38 +00:00
#include "../../Core/Input.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;
Convex GetConvex() const;
2018-05-10 01:08:38 +00:00
Box GetBox() const;
Point GetPoint() const;
double GetVisibility() const;
Tile GetTile() const;
2018-05-15 03:41:51 +00:00
// 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;
2018-05-10 01:08:38 +00:00
bool Interact(const Button& B = BUTTON_LEFT) const;
bool Interact(const std::string& Option) const;
2018-05-15 03:41:51 +00:00
bool Interact(const std::vector<std::string>& Options) const;
2018-03-27 02:51:41 +00:00
operator Internal::DecorativeObject() const;
};
}
#endif // INTERACTABLEDECORATIVEOBJECT_HPP_INCLUDED