diff options
Diffstat (limited to 'src/client.cpp')
-rw-r--r-- | src/client.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/client.cpp b/src/client.cpp index e6af5c324..90f1c4e01 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -318,6 +318,10 @@ void Client::step(float dtime) initial_step = false; } else if(m_state == LC_Created) { + if (m_is_registration_confirmation_state) { + // Waiting confirmation + return; + } float &counter = m_connection_reinit_timer; counter -= dtime; if(counter <= 0.0) { @@ -974,6 +978,18 @@ void Client::sendInit(const std::string &playerName) Send(&pkt); } +void Client::promptConfirmRegistration(AuthMechanism chosen_auth_mechanism) +{ + m_chosen_auth_mech = chosen_auth_mechanism; + m_is_registration_confirmation_state = true; +} + +void Client::confirmRegistration() +{ + m_is_registration_confirmation_state = false; + startAuth(m_chosen_auth_mech); +} + void Client::startAuth(AuthMechanism chosen_auth_mechanism) { m_chosen_auth_mech = chosen_auth_mechanism; |