AlpacaLibary  1.63
A closed source C++ bot for OSRS
GameObject.hpp
Go to the documentation of this file.
1 #ifndef INTERACTABLEGAMEOBJECT_HPP_INCLUDED
2 #define INTERACTABLEGAMEOBJECT_HPP_INCLUDED
3 
4 #include "../../Core/Classes/GameObject.hpp"
5 #include "../../Core/Classes/ObjectInfo.hpp"
6 #include "../../Core/Types/Tile.hpp"
7 #include "../../Core/Types/Point.hpp"
8 #include "../../Core/Types/Box.hpp"
9 #include "../../Core/Types/Convex.hpp"
10 #include "../../Core/Types/Wireframe.hpp"
11 #include "../../Core/Input.hpp"
12 #include "../../Game/Tools/Camera.hpp"
13 #include <cstdint>
14 #include <functional>
15 
16 namespace Interactable
17 {
19  {
20  public:
22 
23  GameObject() = default;
24  GameObject(GameObject&& Obj) = default;
25  GameObject(const GameObject& Obj) = default;
27  GameObject& operator=(const GameObject& Obj) = default;
28 
29  std::int32_t GetID() const;
30  std::string GetName() const;
32 
33  std::vector<Point> GetModel() const;
35 
36  Convex GetConvex() const;
37  Box GetBox() const;
38  Point GetPoint() const;
39  Point GetPoint(double PointGenAccuracy) const;
40 
41  double GetVisibility() const;
42  Tile GetTile() const;
44  Tile GetMin() const;
45  Tile GetMax() const;
46  bool IsReachable() const;
47  bool RotateTo(std::int32_t Angle = 0) const;
48  bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
49 
50  bool Hover() const;
51  bool Interact(const Button& B = BUTTON_LEFT) const;
52  bool Interact(const std::string& Option, bool CheckTarget = true) const;
53  bool Interact(const std::vector<std::string>& Options, bool CheckTarget = true) const;
54  bool Interact(const std::function<bool (const std::vector<Point>&)>& InteractMethod) const;
55 
56  };
57 }
58 
59 #endif // INTERACTABLEGAMEOBJECT_HPP_INCLUDED
Button
Definition: Input.hpp:16
@ BUTTON_LEFT
Definition: Input.hpp:18
Definition: Box.hpp:11
Definition: Convex.hpp:9
bool RotateTo(Camera::COMPASS_DIRECTION Direction) const
bool Interact(const Button &B=BUTTON_LEFT) const
GameObject(GameObject &&Obj)=default
std::string GetName() const
bool Interact(const std::string &Option, bool CheckTarget=true) const
bool RotateTo(std::int32_t Angle=0) const
std::int32_t GetID() const
Convex GetConvex() const
std::vector< Point > GetModel() const
Wireframe GetWireframe() const
Tile GetReachableTile() const
bool Interact(const std::function< bool(const std::vector< Point > &)> &InteractMethod) const
Internal::ObjectInfo GetInfo() const
bool Interact(const std::vector< std::string > &Options, bool CheckTarget=true) const
GameObject(const GameObject &Obj)=default
double GetVisibility() const
Point GetPoint(double PointGenAccuracy) const
GameObject(const Internal::GameObject &G)
GameObject & operator=(const GameObject &Obj)=default
GameObject & operator=(GameObject &&Obj)=default
Definition: Point.hpp:10
Definition: Tile.hpp:8
COMPASS_DIRECTION
Definition: Camera.hpp:10