AlpacaLibrary/Include/Game/Interfaces/Minimap.hpp

96 lines
2.9 KiB
C++

#ifndef MINIMAP_HPP_INCLUDED
#define MINIMAP_HPP_INCLUDED
#include "../../Core/Types/Tile.hpp"
#include "../../Core/Types/Point.hpp"
#include "../../Core/Classes/Region.hpp"
#include <cstdint>
#include <functional>
/** @addtogroup Interfaces
* @{ */
class Minimap
{
public:
/**
* @brief Returns the middle point of the minimap
*
* @return the middle point of the minimap
*/
static Point GetMiddle();
/**
* @brief Returns the plane the local player is on
*
* @return the plane the local player is on
*/
static std::int32_t GetPlane();
/**
* @brief Returns the tile the local player is on
*
* @return the tile the local player is on
*/
static Tile GetPosition();
/**
* @brief Returns the tile of the local players destination
*
* @return the tile of the local players destination
*/
static Tile GetDestination();
/**
* @brief Returns true if the local players position is close to the passed tile, uses pixels as distance
*
* @param T tile to check
* @param Distance in pixels
* @return true if the local players position is close to the passed tile
*/
static bool IsCloseTo(const Tile& T, std::int32_t Distance);
/**
* @brief Returns true if the passed tile is on the minimap
*
* @param T tile to check
* @return true if the passed tile is on the minimap
*/
static bool IsTileOn(const Tile& T);
/**
* @brief When poisoned, clicks on the health orb to cure
*
* @return true if poisoned and if the function successfully clicks the "Cure" option on the orb
*/
static bool ClickCure();
/**
* @brief Clicks on the minimap compass to quickly face North
*
* @return true if the function succesfully clicks the compass, and the camera angle is 0 / North
*/
static bool ClickCompass(); // Clicks north
/**
* @brief Clicks the quick-prayer orb
*
* @return true if the function succesfully clicked the orb
*/
static bool ClickQuickPrayer();
/**
* @brief Clicks the toggle-run orb
*
* @return true if the function succesfully clicked the orb
*/
static bool ClickToggleRun();
static bool ClickTile(const Tile& T, std::int32_t Random = 5);
static bool WalkPath(const std::vector<Tile>& Path, std::int32_t Distance, std::int32_t Random);
static bool WalkPath(const std::vector<Tile>& Path, std::int32_t Distance, std::int32_t Random, std::function<bool()> Func);
static bool IsReachable(const Tile& T);
};
/** @} */
#endif // MINIMAP_HPP_INCLUDED