summaryrefslogtreecommitdiff
path: root/src/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.cpp')
-rw-r--r--src/client.cpp16
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;