private async Task Register(IYield yield, RegisterRequestParameters parameters) { var registrationPeerLogic = ServiceContainer.RegistrationService.GetPeerLogic <IRegistrationPeerLogicAPI>().AssertNotNull(); var responseParameters = await registrationPeerLogic.Register(yield, parameters); switch (responseParameters.Status) { case RegisterStatus.Succeed: { var noticeWindow = UserInterfaceContainer.Instance.Get <NoticeWindow>().AssertNotNull(); noticeWindow.Message.text = "Registration is completed successfully."; noticeWindow.OkButtonClickedAction = OnBackButtonClicked; noticeWindow.OkButton.interactable = true; break; } case RegisterStatus.EmailExists: { var noticeWindow = UserInterfaceContainer.Instance.Get <NoticeWindow>().AssertNotNull(); noticeWindow.Message.text = "Email address already exists."; noticeWindow.OkButton.interactable = true; break; } default: { var noticeWindow = UserInterfaceContainer.Instance.Get <NoticeWindow>().AssertNotNull(); noticeWindow.Message.text = "Something went wrong, please try again."; noticeWindow.OkButton.interactable = true; break; } } if (responseParameters.Status == RegisterStatus.Succeed) { OnRegistrationSucceed(); } }
private void Register(string email, string password, string firstName, string lastName) { var noticeWindow = Utils.ShowNotice("Registration is in a process.. Please wait.", okButtonClicked: () => { registrationWindow.Show(); }); noticeWindow.OkButton.interactable = false; Action registerAction = () => { var parameters = new RegisterRequestParameters(email, password.CreateSha512(), firstName, lastName); coroutinesExecutor.StartTask((yield) => Register(yield, parameters), exception => ServiceConnectionProviderUtils.OnOperationFailed()); }; if (RegistrationConnectionProvider.Instance.IsConnected()) { registerAction.Invoke(); } else { RegistrationConnectionProvider.Instance.Connect(onConnected: registerAction); } }
public async Task <RegisterResponseParameters> Register(IYield yield, RegisterRequestParameters parameters) { return(await ServerPeerHandler.SendOperation <RegisterRequestParameters, RegisterResponseParameters> (yield, (byte)RegistrationOperations.Register, parameters, MessageSendOptions.DefaultReliable())); }