#ifndef MENU_HPP_INCLUDED #define MENU_HPP_INCLUDED #include "../../Core/Types/Box.hpp" #include #include #include /** @addtogroup Interfaces * @{ */ class Menu { public: static bool IsOpen(); static bool Open(); static std::int32_t GetCount(); static std::vector GetActions(); static std::vector GetTargetsRaw(); static std::vector GetTargets(); static std::vector GetOptions(); static std::int32_t IndexOf(const std::string& Action); static std::int32_t IndexOf(const std::string& Action, const std::string& Target); static std::int32_t IndexOf(const std::vector& PossibleActions); static std::int32_t IndexOf(const std::vector& PossibleActions, const std::vector& PossibleTargets); static bool Contains(const std::string& Action); static bool Contains(const std::string& Action, const std::string& Target); static bool Contains(const std::vector& PossibleActions); static bool Contains(const std::vector& PossibleActions, const std::vector& Targets); static bool WaitContains(std::uint32_t Duration, std::uint32_t Step, const std::string& Action); static bool WaitContains(std::uint32_t Duration, std::uint32_t Step, const std::string& Action, const std::string& Target); static bool WaitContains(std::uint32_t Duration, std::uint32_t Step, const std::vector& PossibleActions); // Waits until the Menu contains at least one of these actions static bool WaitContains(std::uint32_t Duration, std::uint32_t Step, const std::vector& PossibleActions, const std::vector& PossibleTargets); // Waits until the Menu contains at least one of these actions and Targets static bool Select(std::uint32_t Index); static bool Select(const std::string& Action); static bool Select(const std::string& Action, const std::string& Target); static bool Select(const std::vector& PossibleActions); static bool Select(const std::vector& PossibleActions, const std::vector& PossibleTargets); static std::vector GetBoxes(); static Box GetBox(); }; /** @} */ #endif // MENU_HPP_INCLUDED