AlpacaLibary  1.63
A closed source C++ bot for OSRS
NPC.hpp
Go to the documentation of this file.
1 #ifndef INTERACTABLENPC_HPP_INCLUDED
2 #define INTERACTABLENPC_HPP_INCLUDED
3 
4 #include "../../Core/Classes/NPC.hpp"
5 #include "../../Core/Classes/NPCInfo.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 {
18  class NPC : public Internal::NPC
19  {
20  public:
21  NPC(const Internal::NPC& N);
22 
23  NPC() = default;
24  NPC(NPC&& Obj) = default;
25  NPC(const NPC& Obj) = default;
26  NPC& operator=(NPC&& Obj) = default;
27  NPC& operator=(const NPC& 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  bool IsReachable() const;
45  bool RotateTo(std::int32_t Angle = 0) const;
46  bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
47 
49  bool Interacting() const;
50  bool Interacting(const Internal::Character& C) const;
51 
52  bool Hover() const;
53  bool Interact(const Button& B = BUTTON_LEFT) const;
54  bool Interact(const std::string& Option, bool CheckTarget = true) const;
55  bool Interact(const std::vector<std::string>& Options, bool CheckTarget = true) const;
56  bool Interact(const std::function<bool (const std::vector<Point>&)>& InteractMethod) const;
57 
58  };
59 }
60 
61 #endif // INTERACTABLENPC_HPP_INCLUDED
Button
Definition: Input.hpp:16
@ BUTTON_LEFT
Definition: Input.hpp:18
Definition: Box.hpp:11
Definition: Convex.hpp:9
Point GetPoint() const
Internal::NPCInfo GetInfo() const
NPC & operator=(const NPC &Obj)=default
bool Interact(const std::string &Option, bool CheckTarget=true) const
Internal::Character GetInteracting() const
Tile GetReachableTile() const
double GetVisibility() const
Point GetPoint(double PointGenAccuracy) const
bool Interact(const std::vector< std::string > &Options, bool CheckTarget=true) const
Wireframe GetWireframe() const
bool Interacting() const
NPC(const NPC &Obj)=default
std::vector< Point > GetModel() const
NPC(NPC &&Obj)=default
bool Interact(const Button &B=BUTTON_LEFT) const
NPC & operator=(NPC &&Obj)=default
bool Interact(const std::function< bool(const std::vector< Point > &)> &InteractMethod) const
Tile GetTile() const
Convex GetConvex() const
std::int32_t GetID() const
bool Interacting(const Internal::Character &C) const
bool IsReachable() const
bool RotateTo(std::int32_t Angle=0) const
bool RotateTo(Camera::COMPASS_DIRECTION Direction) const
std::string GetName() const
bool Hover() const
NPC(const Internal::NPC &N)
Box GetBox() const
Definition: Point.hpp:10
Definition: Tile.hpp:8
COMPASS_DIRECTION
Definition: Camera.hpp:10