private void RegisterAccount(PlayerDTO newPlayer) { SetEnableInterfaceElements(false); SignUpLoadingScreen suls = new SignUpLoadingScreen(newPlayer); if (suls.ShowDialog() == DialogResult.OK) { Close(); return; } SetEnableInterfaceElements(true); }
public void Register(SignUpLoadingScreen signUpLoadingScreen, PlayerDTO account) { try { bool waiting = false; Player newPlayer = null; ClientServiceProvider csp = new ClientServiceProvider( NetworkObjectParameters.LoginServerInformation.ServerPublicAddress, NetworkObjectParameters.LoginServerInformation.ServerPort, NetworkObjectParameters.LoginServerBufferSize, (serviceProvider, message) => { newPlayer = ObjectWrapper.Deserialize <Player>(message[1]); waiting = true; }); csp.OnFailToEstabilishConnection += signUpLoadingScreen.OnFailToStablishConnection; csp.StartOperation(); csp.RequestQueue.Enqueue(NetworkObjectParameters.LoginServerAccountCreationRequest, account); while (!waiting) { Thread.Sleep(100); } csp.StopOperation(); if (newPlayer == null) { //Unnable to create player (unknown reason) signUpLoadingScreen.OnFailToCreateAccount(); return; } string errorMessage = ""; //Invalid Nickname if (newPlayer.Nickname == null) { errorMessage += Language.RegisterFailureNickname; } //Invalid Email if (newPlayer.Email == null) { errorMessage += Language.RegisterFailureEmail; } //Fail if (errorMessage.Length > 0) { signUpLoadingScreen.OnFailToCreateAccount(); return; } //Success signUpLoadingScreen.OnCreateAccount(); } catch (Exception ex) { Console.WriteLine($"Ex: {ex.Message}"); } }
public void PrepareRegistrationThread(SignUpLoadingScreen signUpLoadingForm, PlayerDTO account) { RequestThread = new Thread(() => Register(signUpLoadingForm, account)); RequestThread.IsBackground = true; RequestThread.Start(); }