private void LoginDialog(object sender, DialogResponseEventArgs e) { if (e.DialogButton == DialogButton.Right) { success = false; return; } if (e.InputText.Length == 0) { passwordDialog.Show(player); return; } if (!PasswordHasher.Verify(e.InputText, player.AccountData.Password)) { if (attempts < maxAttemtps - 1) { attempts++; passwordDialog.Message = "Mauvais mot de passe !\nIl vous reste " + Color.DarkRed + (maxAttemtps - attempts) + Color.White + " essais."; passwordDialog.Show(player); return; } success = false; player.Kick(); return; } success = true; OnDialogEnded(new LoginDialogEndEventArgs()); return; }
public void OnAgeDialogResponse(object sender, DialogResponseEventArgs e) { var promo1 = new Promo1(); PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); if (data == null) { Response -= OnAgeDialogResponse; // TODO: Logging return; } if (e.DialogButton != DialogButton.Left) { Response -= OnAgeDialogResponse; promo1.Response += promo1.OnPromo1Response; promo1.Show(e.Player); return; } Response -= OnAgeDialogResponse; if (int.TryParse(e.InputText, out int age)) { data.Age = age; } else { Response -= OnAgeDialogResponse; } promo1.Response += promo1.OnPromo1Response; promo1.Show(e.Player); }
public void OnEmailRegistrationDialogResponse(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { Response -= OnEmailRegistrationDialogResponse; e.Player.Kick(); return; } if (string.IsNullOrEmpty(e.InputText) || e.InputText.Split("@").Length <= 1) { // TODO: показывать диалог еще раз } PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); if (data == null) { Response -= OnEmailRegistrationDialogResponse; e.Player.Kick(); // TODO: Logging return; } Response -= OnEmailRegistrationDialogResponse; data.Email = e.InputText; var gender = new GenderDialog(); gender.Response += gender.OnGenderDialogResponse; gender.ShowAsync(e.Player); }
private static async void BankCancelDialog_Response(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { return; } if (!(e.Player is Player player)) { return; } if (player.BankAccount.Money > 0) { await player.RewardAsync(player.BankAccount.Money); player.SendClientMessage(Color.GreenYellow, "There was still some money in your bank account, it has been added to your account."); } var playerBankAccount = player.BankAccount; await new PlayerBankAccountRepository(ConnectionFactory.GetConnection).DeleteAsync(playerBankAccount); player.IsLoggedInBankAccount = false; player.SendClientMessage(Color.GreenYellow, "Your bank account has been deleted."); }
void OnDialogResponse(object sender, DialogResponseEventArgs e) { if (e.Response == DialogResponse.OK) { ApplySettings(AppSettings.Main); } }
public static void ConvoyListDialog_Response(object sender, DialogResponseEventArgs e) { if (e.DialogButton == DialogButton.Right) { return; } var player = e.Player as Player; var convoy = MissionConvoy.Convoys[e.ListItem]; switch (convoy.Status) { case ConvoyStatus.Empty: MissionConvoy.MakeLeader(player, convoy); break; case ConvoyStatus.Open: MissionConvoy.MakeMember(player, convoy); break; case ConvoyStatus.Full: player?.SendClientMessage(Color.Red, Messages.MissionConvoyAlreadyFull); break; case ConvoyStatus.Closed: player?.SendClientMessage(Color.Red, Messages.MissionConvoyAlreadyOnRoute); break; } }
private static void RaceName_Response(object sender, DialogResponseEventArgs e) { Player player = (Player)e.Player; if (e.DialogButton != DialogButton.Right) { if (e.InputText.Length > 0) { if (player.playerRaceCreator.Save(e.InputText)) { player.SendClientMessage(Color.Green, "Race saved"); } else { player.SendClientMessage(Color.Red, "Error saving race"); } } else { InputDialog raceName = new InputDialog("Name of the race", "Please enter the name of the race", false, "Create", "Cancel"); raceName.Show(e.Player); raceName.Response += RaceName_Response; } } }
private void RegisterDialogOnResponse(object?sender, DialogResponseEventArgs e) { var registerAccountRequest = new RegisterAccountRequest(); registerAccountRequest.Email = "*****@*****.**"; registerAccountRequest.Login = _player.Name; registerAccountRequest.Password = e.InputText; try { var response = MruV.Accounts.RegisterAccount(registerAccountRequest); if (response.Success) { new LoginFlow(_player).Show(); Tutorial tutorial = new Tutorial(_player); tutorial.RegisterMessage(); } else { _player.SendClientMessage("Nie udało się zarejestrować konta."); _registerDialog.Show(_player); } } catch (RpcException err) { _player.SendClientMessage($"Nie udało się zarejestrować, błąd: {err.Status.Detail}"); } }
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); }
/// <summary> /// Raises the <see cref="Response" /> event. /// </summary> /// <param name="e">An <see cref="DialogResponseEventArgs" /> that contains the event data. </param> public void OnResponse(DialogResponseEventArgs e) { if (OpenDialogs.ContainsKey(e.Player.Id)) OpenDialogs.Remove(e.Player.Id); _aSyncWaiter.Fire(e.Player, e); Response?.Invoke(this, e); }
private void DialogOnResponse(object?sender, DialogResponseEventArgs e) { if (e.DialogButton == SampSharp.GameMode.Definitions.DialogButton.Right) { _player.SendClientMessage(Color.LightCoral, "Wyszedłeś z wyboru postaci. Zapraszamy ponownie!"); _player.Kick(); } else { ChosenCharacter?.Invoke(_player, EventArgs.Empty); } }
/// <summary> /// Raises the <see cref="IDialog.Response" /> event. /// </summary> /// <param name="e">An <see cref="DialogResponseEventArgs" /> that contains the event data. </param> public void OnResponse(DialogResponseEventArgs e) { if (OpenDialogs.ContainsKey(e.Player.Id)) { OpenDialogs.Remove(e.Player.Id); } _aSyncWaiter.Fire(e.Player, e); if (Response != null) { Response(this, e); } }
private static void SelectRouteDialog_Response(object sender, DialogResponseEventArgs e) { if (e.DialogButton != SampSharp.GameMode.Definitions.DialogButton.Left) { return; } if (!(e.Player is Player player)) { return; } StartMission(player, BusRoute.BusRoutes[e.ListItem]); }
private static async void MoneyDepositDialog_Response(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { return; } if (!(e.Player is Player player)) { return; } if (int.TryParse(e.InputText, out var depositMoney)) { if (depositMoney < 1) { player.SendClientMessage(Color.Red, "You need to enter a positive amount of money to deposit into your bank account."); player.ShowBankAccountOptions(); return; } if (depositMoney > player.Account.Money) { player.SendClientMessage(Color.Red, "You don't have that amount of money to deposit into your bank account."); player.ShowBankAccountOptions(); return; } var playerBankAccount = player.BankAccount; playerBankAccount.Money += depositMoney; await player.RewardAsync(-depositMoney); await new PlayerBankAccountRepository(ConnectionFactory.GetConnection).UpdateAsync(playerBankAccount); player.SendClientMessage(Color.GreenYellow, $"You have deposited {{FFFF00}}${depositMoney}{Color.GreenYellow} into your bank account."); player.ShowBankAccountOptions(); } else { player.SendClientMessage(Color.Red, "You need input a valid number."); player.ShowBankAccountOptions(); } }
public void OnPromo2ChangedResponse(object sender, DialogResponseEventArgs e) { PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); if (data == null) { Response -= OnPromo2ChangedResponse; // TODO: Logging return; } if (e.DialogButton != DialogButton.Left) { Response -= OnPromo2ChangedResponse; return; } Response -= OnPromo2ChangedResponse; PlayerManager.Instance.AddPlayer(data); }
public void ChoiceResponse(object sender, DialogResponseEventArgs e) { if (e.DialogButton == DialogButton.Right) { e.Player.Kick(); return; } if (e.ListItem < playerChars.Count) { player.ActiveCharacter = playerChars[e.ListItem]; player.SendClientMessage("Tu as choisi " + player.ActiveCharacter.Name); player.SpawnCharacter(); } else { charCreationMenu = new PlayerCharacterCreation(); this.Show(); } }
private void OnCreateNewFixedProjectComplete(object sender, DialogResponseEventArgs dialogResponseEventArgs) { if (dialogResponseEventArgs.Canceled || dialogResponseEventArgs.CorrelationId != CorrelationId) { return; } CorrelationId = Guid.NewGuid(); try { this.dashboardService.CreateNewFixedBudgetMonitorWidget( this.createNewFixedBudgetController.Code, this.createNewFixedBudgetController.Description, this.createNewFixedBudgetController.Amount); } catch (ArgumentException ex) { this.uiContext.UserPrompts.MessageBox.Show(ex.Message, "Unable to create new fixed budget project"); } }
private void OnCreateNewSurprisePaymentMonitorComplete(object sender, DialogResponseEventArgs dialogResponseEventArgs) { if (dialogResponseEventArgs.Canceled || dialogResponseEventArgs.CorrelationId != CorrelationId) { return; } CorrelationId = Guid.NewGuid(); try { this.dashboardService.CreateNewSurprisePaymentMonitorWidget( this.createNewSurprisePaymentMonitorController.Selected.Code, this.createNewSurprisePaymentMonitorController.PaymentStartDate, this.createNewSurprisePaymentMonitorController.Frequency); } catch (ArgumentException ex) { this.uiContext.UserPrompts.MessageBox.Show(ex.Message, "Unable to create new surprise payment monitor widget."); } }
/* When the map change is confirmed, this occurs if the player wishes to force the map change later or immediately.. */ public static void OnConfirmMapChange(int mapId, DialogResponseEventArgs e) { var player = e.Player as Player; if (IsLoading) { player.SendClientMessage(Color.Red, $"Error: El mapa {GetCurrentMap()} se está cargando. "); return; } if (e.DialogButton == DialogButton.Left) { timeLeft = 5; SendClientMessageToAll(Color.Red, $"[Change Map]: {Color.Yellow}{player.Name} forzó el cambio de mapa a: {Color.Red}{GetMapName(mapId)}."); } else { SendClientMessageToAll(Color.Red, $"[Next Map]: {Color.Yellow}{player.Name} decidió que el próximo mapa será en: {Color.Red}{GetMapName(mapId)}."); } ForceMap = mapId; }
private static void DialogSpawns_Response(object sender, DialogResponseEventArgs e, PlayerClassType classId) { if (e.DialogButton != DialogButton.Left) { return; } if (!(e.Player is Player player)) { return; } var spawns = new ClassSpawnRepository(ConnectionFactory.GetConnection).GetAllByClassType((int)classId); switch (classId) { default: player.Position = new Vector3(spawns.ElementAt(e.ListItem).PositionX, spawns.ElementAt(e.ListItem).PositionY, spawns.ElementAt(e.ListItem).PositionZ); break; } }
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); } }
public void OnFrienInGameChangedResponse(object sender, DialogResponseEventArgs e) { var promo2 = new Promo2(); PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); if (data == null) { Response -= OnFrienInGameChangedResponse; // TODO: Logging return; } if (e.DialogButton != DialogButton.Left) { Response -= OnFrienInGameChangedResponse; promo2.Response += promo2.OnPromo2ChangedResponse; promo2.Show(e.Player); return; } Response -= OnFrienInGameChangedResponse; promo2.Response += promo2.OnPromo2ChangedResponse; promo2.Show(e.Player); }
public static void DialogBusDriverMission_Response(object sender, DialogResponseEventArgs e) { if (e.DialogButton != SampSharp.GameMode.Definitions.DialogButton.Left) { return; } if (!(e.Player is Player player)) { return; } if (player.IsDoingMission) { player.SendClientMessage(Color.Red, Messages.AlreadyDoingAMission); return; } var selectRouteDialog = new ListDialog("Select busroute: ", Messages.DialogButtonSelect, Messages.DialogButtonCancel); switch (e.ListItem) { case 0: foreach (var busRoute in BusRoute.BusRoutes) { selectRouteDialog.AddItem($"Line {busRoute.LineNumber} ({busRoute.Description})\n"); } selectRouteDialog.Show(player); selectRouteDialog.Response += SelectRouteDialog_Response; break; case 1: var random = new Random(); StartMission(player, BusRoute.BusRoutes[random.Next(BusRoute.BusRoutes.Count)]); break; } }
public static void MissionDialogResponse(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { return; } var playerVehicleModel = e.Player.Vehicle?.Model; var playerVehicleTrailerModel = e.Player.Vehicle?.Trailer?.Model; switch (e.ListItem) { case 0: var cargoList = GetMissionCargoes(playerVehicleModel, playerVehicleTrailerModel); if (cargoList == null) { return; } var dialogCargoSelect = new ListDialog(Messages.MissionTruckerDialogSelectLoad, Messages.DialogButtonSelect, Messages.DialogButtonCancel); foreach (var cargo in cargoList) { dialogCargoSelect.AddItem(cargo.Name); } dialogCargoSelect.Show(e.Player); dialogCargoSelect.Response += DialogCargoSelect_Response; break; case 1: StartRandomMission((Player)e.Player); break; } }
public void OnSkinColorDialogResponse(object sender, DialogResponseEventArgs e) { var nationalitySet = new NationalityList(); PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); if (data == null) { Response -= OnSkinColorDialogResponse; // TODO: Logging return; } if (e.DialogButton != DialogButton.Left) { data.SkinColor = PlayerColor.BLACK; Response -= OnSkinColorDialogResponse; nationalitySet.Response += nationalitySet.OnNationalitySetResponse; nationalitySet.Show(e.Player); return; } Response -= OnSkinColorDialogResponse; nationalitySet.Response += nationalitySet.OnNationalitySetResponse; nationalitySet.Show(e.Player); }
public void OnPromo1Response(object sender, DialogResponseEventArgs e) { Console.WriteLine(e.InputText); var friend = new FriendInGame(); PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); if (data == null) { Response -= OnPromo1Response; // TODO: Logging return; } if (e.DialogButton != DialogButton.Left) { Response -= OnPromo1Response; friend.Response += friend.OnFrienInGameChangedResponse; friend.Show(e.Player); return; } Response -= OnPromo1Response; friend.Response += friend.OnFrienInGameChangedResponse; friend.Show(e.Player); }
public void OnNationalitySetResponse(object sender, DialogResponseEventArgs e) { PlayerData data = PlayerManager.Instance.GetCachedPlayerData(e.Player.Name); var ageDialog = new AgeDialog(); if (data == null) { Response -= OnNationalitySetResponse; e.Player.Kick(); // TODO: Logging return; } if (e.DialogButton != DialogButton.Left) { ageDialog.Response += ageDialog.OnAgeDialogResponse; ageDialog.ShowAsync(e.Player); Response -= OnNationalitySetResponse; return; } Response -= OnNationalitySetResponse; ageDialog.Response += ageDialog.OnAgeDialogResponse; ageDialog.Show(e.Player); }
private void MenuResponse(object sender, DialogResponseEventArgs e) { if (e.DialogButton == DialogButton.Right) { MenuDialogEventArgs eventArgs = new MenuDialogEventArgs(); eventArgs.Data = itemsData; eventArgs.Button = DialogButton.Right; OnEnded(eventArgs); return; } if (e.ListItem <= menuItems.Count) { MenuDialogItemEventArgs eventArgs = new MenuDialogItemEventArgs(); eventArgs.Parent = this; eventArgs.ParentData = itemsData; eventArgs.Player = e.Player; menuItems[e.ListItem].OnSelected(eventArgs); return; } this.Show(e.Player); }
private static void DialogSelectStartLocation_Response(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { return; } if (!(e.Player is Player player)) { return; } var cargo = player.MissionCargo; var startLocationIndex = player.MissionCargo.FromLocations[e.ListItem]; player.FromLocation = MissionLocation.MissionLocations[startLocationIndex]; var dialogSelectEndLocation = new ListDialog(Messages.MissionTruckerSelectEndingLocation, Messages.DialogButtonSelect, Messages.DialogButtonCancel); for (var i = 0; i < cargo.ToLocations.Length; i++) { var endLocationIndex = player.MissionCargo.ToLocations[i]; if (endLocationIndex != 0) { dialogSelectEndLocation.AddItem(MissionLocation.MissionLocations[endLocationIndex].Name); } else { break; } } dialogSelectEndLocation.Show(e.Player); dialogSelectEndLocation.Response += DialogSelectEndLocation_Response; }
private static void DialogCargoSelect_Response(object sender, DialogResponseEventArgs e) { if (e.DialogButton != DialogButton.Left) { return; } var playerVehicleModel = e.Player.Vehicle?.Model; var playerVehicleTrailerModel = e.Player.Vehicle?.Trailer?.Model; if (!(e.Player is Player player)) { return; } var cargoList = GetMissionCargoes(playerVehicleModel, playerVehicleTrailerModel); var dialogSelectStartLocation = new ListDialog(Messages.MissionTruckerSelectStartingLocation, Messages.DialogButtonSelect, Messages.DialogButtonCancel); player.MissionCargo = cargoList[e.ListItem]; foreach (var startLocationIndex in player.MissionCargo.FromLocations) { if (startLocationIndex != 0) { dialogSelectStartLocation.AddItem(MissionLocation.MissionLocations[startLocationIndex].Name); } else { break; } } dialogSelectStartLocation.Show(e.Player); dialogSelectStartLocation.Response += DialogSelectStartLocation_Response; }