public void OnPasswordRequestResponse(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { Response -= OnPasswordRequestResponse; e.Player.Kick(); return; } PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); if (data == null) { Response -= OnPasswordRequestResponse; e.Player.Kick(); // TODO: Logging return; } if (e.InputText != data.Password) { Response -= OnPasswordRequestResponse; var retrialDialog = new PasswordRequestDialog(true); retrialDialog.Response += retrialDialog.OnPasswordRequestResponse; retrialDialog.ShowAsync(e.Player); return; } Response -= OnPasswordRequestResponse; var emailDialog = new EmailRegistrationDialog(); emailDialog.Response += emailDialog.OnEmailRegistrationDialogResponse; emailDialog.ShowAsync(e.Player); }
public void OnInputRegistrationData(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { Response -= OnInputRegistrationData; if (e.Player == null) { return; } e.Player.SendClientMessage("Вы не ввели пароль"); e.Player.Kick(); return; } PlayerData data = PlayerManager.Instance.GetPlayerData(e.Player.Name); if (data != null) { if (data.Password == e.InputText) { data.Authorized = true; } } else { Response -= OnInputRegistrationData; data = new PlayerData { UserName = e.Player.Name, Password = e.InputText }; PlayerManager.Instance.CachePlayerData(data); //TODO: проверить пароль на запрещенные символы var passRequestDialog = new PasswordRequestDialog(); passRequestDialog.Response += passRequestDialog.OnPasswordRequestResponse; passRequestDialog.ShowAsync(e.Player); } }