AlpacaLibrary/Include/Game/Interfaces/Mainscreen.hpp

80 lines
2.4 KiB
C++
Raw Normal View History

2017-12-25 23:49:48 +00:00
#ifndef MAINSCREEN_HPP_INCLUDED
#define MAINSCREEN_HPP_INCLUDED
#include "../../Core/Types/Box.hpp"
2018-10-04 07:21:36 +00:00
#include "../../Core/Types/Tile.hpp"
2017-12-25 23:49:48 +00:00
#include "../../Core/Classes/Character.hpp"
#include <cstdint>
#include <string>
#include <vector>
2020-02-15 04:24:58 +00:00
#include <functional>
2017-12-25 23:49:48 +00:00
2019-01-29 20:07:44 +00:00
/**
* @brief A namespace containing various functions related to the Mainscreen
*/
2018-12-27 18:17:09 +00:00
namespace Mainscreen
2017-12-25 23:49:48 +00:00
{
2018-12-27 18:17:09 +00:00
typedef enum SCREEN_STATE
{
LOGIN_SCREEN,
LOBBY_SCREEN,
CONNECTING,
LOADING,
HOPPING,
PLAYING
} SCREEN_STATE;
typedef enum CROSSHAIR_STATE
{
NONE,
YELLOW,
RED
} CROSSHAIR_STATE;
Mainscreen::SCREEN_STATE GetState();
Mainscreen::CROSSHAIR_STATE GetCrosshairState();
2019-01-29 20:07:44 +00:00
/**
* @brief Returns true if the Mainscreen SCREEN_STATE is PLAYING, LOADING, or HOPPING
* @return True if the Mainscreen SCREEN_STATE is PLAYING, LOADING, or HOPPING
*/
2018-12-27 18:17:09 +00:00
bool IsLoggedIn();
2019-01-29 20:07:44 +00:00
/**
* @brief Returns true if the player is moving
* @return True if the player is moving
* @details P.GetPoseAnimationID() != P.GetSubPoseAnimationID()
*/
2018-12-27 18:17:09 +00:00
bool IsMoving();
2019-01-29 20:07:44 +00:00
/**
* @brief Returns true if the player is animating
* @return True if the player is animating
* @details P.GetAnimationID() != -1
*/
2018-12-27 18:17:09 +00:00
bool IsAnimating();
std::string GetUpText();
2019-01-29 20:07:44 +00:00
2018-12-27 18:17:09 +00:00
bool IsUpText(const std::string& UpText);
bool IsUpText(const std::vector<std::string>& UpTexts);
2019-01-29 20:07:44 +00:00
bool UpTextContains(const std::string& UpText);
bool UpTextContains(const std::vector<std::string>& UpTexts);
bool UpTextContains(const std::string& UpText, std::uint32_t CheckTime, std::uint32_t FailCheckTime);
bool UpTextContains(const std::vector<std::string>& UpTexts, std::uint32_t CheckTime, std::uint32_t FailCheckTime);
2018-12-27 18:17:09 +00:00
bool WaitIsUpText(std::uint32_t Duration, std::uint32_t Step, const std::string& UpText);
2019-01-29 20:07:44 +00:00
2018-12-27 18:17:09 +00:00
bool WaitUpTextContains(std::uint32_t Duration, std::uint32_t Step, const std::string& UpText);
bool WaitUpTextContains(std::uint32_t Duration, std::uint32_t Step, const std::vector<std::string>& UpTexts);
2019-01-29 20:07:44 +00:00
2020-02-15 04:24:58 +00:00
bool IsTileOn(const Tile& T);
2018-12-27 18:17:09 +00:00
bool ClickTile(const Tile& T);
2019-01-29 20:07:44 +00:00
2020-02-15 04:24:58 +00:00
bool WalkPath(const std::vector<Tile>& Path, std::int32_t Distance);
2020-06-25 18:13:21 +00:00
bool WalkPath(const std::vector<Tile>& Path, std::int32_t Distance, std::function<bool()> Func);
2020-02-15 04:24:58 +00:00
2019-01-29 20:07:44 +00:00
std::vector<Box> GetBlockingWidgetBoxes();
2018-12-31 21:52:58 +00:00
}
2017-12-25 23:49:48 +00:00
#endif // MAINSCREEN_HPP_INCLUDED