AlpacaLibrary/Include/Game/Interactable/GroundItem.hpp

45 lines
1.3 KiB
C++
Raw Normal View History

2018-04-18 05:50:40 +00:00
#ifndef INTERACTABLEGROUNDITEM_HPP_INCLUDED
#define INTERACTABLEGROUNDITEM_HPP_INCLUDED
#include "../../Core/Classes/GroundItem.hpp"
2018-05-10 01:08:38 +00:00
#include "../../Core/Classes/ItemInfo.hpp"
2018-04-18 05:50:40 +00:00
#include "../../Core/Types/Tile.hpp"
#include "../../Core/Types/Point.hpp"
2018-05-10 01:08:38 +00:00
#include "../../Core/Types/Box.hpp"
2018-04-18 05:50:40 +00:00
#include "../../Core/Types/Convex.hpp"
2018-05-10 01:08:38 +00:00
#include "../../Core/Input.hpp"
2018-04-18 05:50:40 +00:00
#include <cstdint>
namespace Interactable
{
class GroundItem : public Internal::GroundItem
{
private:
2018-05-10 01:08:38 +00:00
Tile LocalTile;
2018-04-18 05:50:40 +00:00
public:
GroundItem(const Internal::GroundItem& G);
2018-05-10 01:08:38 +00:00
GroundItem(const Internal::GroundItem& G, const Tile& LocalTile);
2018-04-18 05:50:40 +00:00
GroundItem(const GroundItem& G);
std::string GetName() const;
2018-05-10 01:08:38 +00:00
Internal::ItemInfo GetInfo() const;
Box GetBox() const;
Point GetPoint() const;
2018-04-18 05:50:40 +00:00
Convex GetConvex() const;
2018-05-10 01:08:38 +00:00
std::vector<Point> GetModel() const;
double GetVisibility() const;
Tile GetTile() const;
bool Interact(const Button& B = BUTTON_LEFT) const;
bool Interact(const std::string& Option) const;
2018-05-13 21:59:12 +00:00
bool Interact(const std::vector<std::string>& Options, bool RequireAllOptions = false) const;
2018-04-18 05:50:40 +00:00
operator Internal::GroundItem() const;
};
}
#endif // INTERACTABLEGROUNDITEM_HPP_INCLUDED