2018-05-10 01:08:38 +00:00
|
|
|
#ifndef INTERACTABLEWIDGET_HPP_INCLUDED
|
|
|
|
#define INTERACTABLEWIDGET_HPP_INCLUDED
|
|
|
|
|
|
|
|
#include "../../Core/Classes/Widget.hpp"
|
|
|
|
#include "../../Core/Classes/ItemInfo.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 <cstdint>
|
|
|
|
|
|
|
|
namespace Interactable
|
|
|
|
{
|
|
|
|
class Widget : public Internal::Widget
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
Widget(const Internal::Widget& W);
|
2018-12-27 18:17:09 +00:00
|
|
|
|
|
|
|
Widget() = default;
|
|
|
|
Widget(Widget&& Obj) = default;
|
|
|
|
Widget(const Widget& Obj) = default;
|
|
|
|
Widget& operator=(Widget&& Obj) = default;
|
|
|
|
Widget& operator=(const Widget& Obj) = default;
|
2018-05-10 01:08:38 +00:00
|
|
|
|
|
|
|
bool IsHidden() const;
|
2018-05-11 03:38:30 +00:00
|
|
|
bool IsVisible() const;
|
2018-05-10 01:08:38 +00:00
|
|
|
std::vector<std::int32_t> GetNormalizedItemIDs() const;
|
|
|
|
|
|
|
|
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
|
|
|
|
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;
|
|
|
|
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-05-10 01:08:38 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2018-05-11 03:38:30 +00:00
|
|
|
#endif // INTERACTABLEWIDGET_HPP_INCLUDED
|