AlpacaLibrary/Include/Game/Interactable/GroundObject.hpp

43 lines
1.3 KiB
C++

#ifndef INTERACTABLEGROUNDOBJECT_HPP_INCLUDED
#define INTERACTABLEGROUNDOBJECT_HPP_INCLUDED
#include "../../Core/Classes/GroundObject.hpp"
#include "../../Core/Classes/ObjectInfo.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 GroundObject : public Internal::GroundObject
{
public:
GroundObject(const Internal::GroundObject& G);
GroundObject(const GroundObject& G);
std::int32_t GetID() const;
std::string GetName() const;
Internal::ObjectInfo GetInfo() const;
Box GetBox() const;
Point GetPoint() const;
Convex GetConvex() const;
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;
bool Interact(const std::vector<std::string>& Options, bool RequireAllOptions = false) const;
operator Internal::GroundObject() const;
};
}
#endif // INTERACTABLEGROUNDOBJECT_HPP_INCLUDED