#ifndef LOGIN_HPP_INCLUDED #define LOGIN_HPP_INCLUDED #include "../../Core/Types/Box.hpp" #include "../../Core/Classes/World.hpp" #include #include #include /** @addtogroup Interfaces * @{ */ class Login { public: typedef enum LOGIN_SCREEN_STATE { WELCOME_SCREEN, PVP_WORLD, ENTER_CREDENTIALS, INVALID_CREDENTIALS, FORGOTTEN_PASSWORD, RUNESCAPE_UPDATED, TEMP_BANNED, PERM_BANNED, ACCOUNT_LOCKED, MEMBER_AREA, WORLD_SELECT, CONNECTING, LOADING, LOBBY_SCREEN, LOGGED_IN } LOGIN_SCREEN_STATE; static LOGIN_SCREEN_STATE GetLoginScreenState(); static bool IsWorldSelectOpen(); static bool CloseWorldSelect(); static bool LoginPlayer(); static bool EnterCredentials(); static bool SelectWorld(); static bool SelectWorld(Internal::World World); static bool SelectWorld(std::int32_t WorldID); static bool OpenWorldSelect(); static bool OpenWorldSelect(bool Close); /** * @return X of where the login screen starts */ static std::int32_t GetScreenX(); /** * @return X of where the login window starts */ static std::int32_t GetWindowX(); /** * @return current state of the login caret * 0: Username line; 1: Password line; */ static std::int32_t GetCaretState(); /** * @return a vector of login messages * 0: LoginMessage0; 1: LoginMessage1; 2: LoginMessage2; */ static std::vector GetLoginMessages(); /** * @return a vector of button boxes on the login screen * 0: Existing User; 1: Login; 2: Cancel; 3: Try Again; 4: World Select; 5: World Select Cancel; */ static std::vector GetButtonBoxes(); /** * @return a vector of World Boxes found in the World Select screen */ static std::vector GetWorldBoxes(); }; /** @} */ #endif // LOGIN_HPP_INCLUDED