#ifndef LOGIN_HPP_INCLUDED #define LOGIN_HPP_INCLUDED #include "../../Core/Types/Box.hpp" #include "../../Core/Classes/World.hpp" #include #include #include /** @addtogroup Interfaces * @{ */ namespace Login { typedef enum LOGIN_SCREEN_STATE { WELCOME_SCREEN, // 0 PVP_WORLD, // 1 ENTER_CREDENTIALS, // 2 INVALID_CREDENTIALS, // 3 AUTHENTICATOR, // 4 FORGOTTEN_PASSWORD, // 5 RUNESCAPE_UPDATED, ACCOUNT_LOCKED, MEMBERS_AREA, MEMBERS_REQUIRED, WORLD_SELECT, ACCOUNT_DISABLED, CONNECTING, LOADING, LOBBY_SCREEN, LOGGED_IN } LOGIN_SCREEN_STATE; LOGIN_SCREEN_STATE GetLoginScreenState(); bool LoginPlayer(bool SwitchWorlds = true); bool EnterCredentials(); bool IsWorldSelectOpen(); bool OpenWorldSelect(); bool CloseWorldSelect(); bool SelectWorld(); bool SelectWorld(Internal::World World); bool SelectWorld(std::int32_t WorldID); /** * @return X of where the login screen starts */ std::int32_t GetScreenX(); /** * @return X of where the login window starts */ std::int32_t GetWindowX(); /** * @return current state of the login caret * 0: Username line; 1: Password line; */ std::int32_t GetCaretState(); /** * @return a vector of login messages * 0: LoginMessage0; 1: LoginMessage1; 2: LoginMessage2; */ 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; */ std::vector GetButtonBoxes(); /** * @return a world box corresponding to the world select screen. */ Box GetWorldBox(std::uint32_t Index); } /** @} */ #endif // LOGIN_HPP_INCLUDED