#ifndef MAKESCREEN_HPP_INCLUDED
#define MAKESCREEN_HPP_INCLUDED

#include <cstdint>
#include <string>

/** @addtogroup Interfaces
* @{ */
class Makescreen
{
    public:

        enum MAKE_AMOUNT
        {
            ALL = -1
        };

        /**
         * @brief Returns true if the Makescreen is open
         *
         * @return true if the makescreen is open
         */

        static bool IsOpen();

        /**
         * @brief Selects or enters the amount passed, and clicks the middle "Make" button, before returning true
         *
         * @param Amount The amount to select, before clicking the middle "Make" button, passing -1 will use the All button
         * @param ClickButtonOverride Forces the function to click the needed amount button again, regardless if it's already selected
         * @return true if the function succesfully clicks the "Make" button
         * @return false if the makescreen isn't open, or interaction fails
         */
        static bool Make(std::int32_t Amount, bool ClickButtonOverride = false);

        /**
         * @brief Returns the text of the middle widget when the Makescreen is open
         *
         * @return Text of the middle widget when the Makescreen is open
         */
        static std::string GetCraftingName();
};

/** @} */

#endif // MAKESCREEN_HPP_INCLUDED
