2017-12-25 23:49:48 +00:00
|
|
|
#ifndef LOGIN_HPP_INCLUDED
|
|
|
|
#define LOGIN_HPP_INCLUDED
|
|
|
|
|
|
|
|
#include "../../Core/Types/Box.hpp"
|
|
|
|
#include "../../Core/Classes/World.hpp"
|
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
/** @addtogroup Interfaces
|
|
|
|
* @{ */
|
|
|
|
class Login
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
2018-03-20 16:16:11 +00:00
|
|
|
typedef enum LOGIN_SCREEN_STATE
|
2017-12-25 23:49:48 +00:00
|
|
|
{
|
|
|
|
WELCOME_SCREEN,
|
2018-03-22 01:15:01 +00:00
|
|
|
PVP_WORLD,
|
2017-12-25 23:49:48 +00:00
|
|
|
ENTER_CREDENTIALS,
|
|
|
|
INVALID_CREDENTIALS,
|
|
|
|
FORGOTTEN_PASSWORD,
|
|
|
|
RUNESCAPE_UPDATED,
|
|
|
|
TEMP_BANNED,
|
|
|
|
PERM_BANNED,
|
|
|
|
ACCOUNT_LOCKED,
|
2018-03-20 04:35:47 +00:00
|
|
|
MEMBER_AREA,
|
2017-12-25 23:49:48 +00:00
|
|
|
WORLD_SELECT,
|
|
|
|
CONNECTING,
|
|
|
|
LOADING,
|
|
|
|
LOBBY_SCREEN,
|
|
|
|
LOGGED_IN
|
2018-03-20 16:16:11 +00:00
|
|
|
} LOGIN_SCREEN_STATE;
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2018-03-20 16:16:11 +00:00
|
|
|
static LOGIN_SCREEN_STATE GetLoginScreenState();
|
2017-12-25 23:49:48 +00:00
|
|
|
|
|
|
|
static bool IsWorldSelectOpen();
|
|
|
|
static bool CloseWorldSelect();
|
|
|
|
|
2018-03-20 04:35:47 +00:00
|
|
|
static bool LoginPlayer();
|
2017-12-25 23:49:48 +00:00
|
|
|
static bool EnterCredentials();
|
|
|
|
|
|
|
|
static bool SelectWorld();
|
2018-03-18 14:38:29 +00:00
|
|
|
static bool SelectWorld(Internal::World World);
|
2017-12-25 23:49:48 +00:00
|
|
|
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<std::string> 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<Box> GetButtonBoxes();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return a vector of World Boxes found in the World Select screen
|
|
|
|
*/
|
|
|
|
static std::vector<Box> GetWorldBoxes();
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/** @} */
|
|
|
|
|
|
|
|
#endif // LOGIN_HPP_INCLUDED
|