public void ShowCreateParameterValidationError(CreateAccountParameterResult validationResult)
        {
            var messageBox = _eoMessageBoxFactory.CreateMessageBox(
                validationResult.ErrorString,
                EODialogButtons.Ok,
                EOMessageBoxStyle.SmallDialogLargeHeader);

            messageBox.ShowDialog();
        }
        public void ShowError(ConnectResult connectResult)
        {
            switch (connectResult)
            {
            case ConnectResult.Timeout:
            case ConnectResult.InvalidEndpoint:
            case ConnectResult.InvalidSocket:
            case ConnectResult.SocketError:
            {
                var messageBox = _messageBoxFactory.CreateMessageBox(DialogResourceID.CONNECTION_SERVER_NOT_FOUND,
                                                                     EODialogButtons.Ok,
                                                                     EOMessageBoxStyle.SmallDialogLargeHeader);
                messageBox.ShowDialog();
            }
            break;

            default:
            {
                var errorCode = (int)connectResult;
                var ex        = new SocketException(errorCode);

                var messageBox = _messageBoxFactory.CreateMessageBox(
                    $"Error code from socket: {ex.SocketErrorCode}",
                    "Internal Error");
                messageBox.ShowDialog();
            }
            break;
            }
        }
Esempio n. 3
0
        private void HandleWalkToWarpTile(IWarp warp)
        {
            if (warp.DoorType != DoorSpec.NoDoor)
            {
                if (!_unlockDoorValidator.CanMainCharacterOpenDoor(warp))
                {
                    var requiredKey = _unlockDoorValidator.GetRequiredKey(warp);

                    var messageBox = _eoMessageBoxFactory.CreateMessageBox(DialogResourceID.DOOR_LOCKED);
                    messageBox.ShowDialog();
                    _statusLabelSetter.SetStatusLabel(EOResourceID.STATUS_LABEL_TYPE_WARNING,
                                                      EOResourceID.STATUS_LABEL_THE_DOOR_IS_LOCKED_EXCLAMATION,
                                                      " - " + requiredKey);
                }
                else if (!_currentMapStateRepository.OpenDoors.Contains(warp) &&
                         !_currentMapStateRepository.PendingDoors.Contains(warp))
                {
                    var packet = new PacketBuilder(PacketFamily.Door, PacketAction.Open)
                                 .AddChar((byte)warp.X)
                                 .AddChar((byte)warp.Y)
                                 .Build();

                    _packetSendService.SendPacket(packet);
                    _currentMapStateRepository.PendingDoors.Add(warp);
                }
            }
            else if (warp.LevelRequirement > 0 && MainCharacter.Stats[CharacterStat.Level] < warp.LevelRequirement)
            {
                _statusLabelSetter.SetStatusLabel(EOResourceID.STATUS_LABEL_TYPE_WARNING,
                                                  EOResourceID.STATUS_LABEL_NOT_READY_TO_USE_ENTRANCE,
                                                  " - LVL " + warp.LevelRequirement);
            }
        }
Esempio n. 4
0
 public void WarnFirstTimePlayers()
 {
     if (_playerInfoProvider.IsFirstTimePlayer)
     {
         var messageBox = _messageBoxFactory.CreateMessageBox(DialogResourceID.WARNING_FIRST_TIME_PLAYERS);
         messageBox.ShowDialog();
     }
 }
        protected override async void DoBackButtonClick(object sender, EventArgs e)
        {
            var messageBox = _messageBoxFactory.CreateMessageBox(
                DialogResourceID.EXIT_GAME_ARE_YOU_SURE,
                EODialogButtons.OkCancel);

            var result = await messageBox.ShowDialogAsync();

            if (result == XNADialogResult.OK)
            {
                _mainButtonController.GoToInitialStateAndDisconnect();
            }
        }
Esempio n. 6
0
 private void ClickOk()
 {
     if (_inputBox.Text.Length < 4)
     {
         var messageBox = _messageBoxFactory.CreateMessageBox(DialogResourceID.CHARACTER_CREATE_NAME_TOO_SHORT,
                                                              EODialogButtons.Ok,
                                                              EOMessageBoxStyle.SmallDialogLargeHeader);
         messageBox.ShowDialog();
     }
     else
     {
         Close(XNADialogResult.OK);
     }
 }
Esempio n. 7
0
        public void ShowCharacterReplyDialog(CharacterReply response)
        {
            DialogResourceID message;

            switch (response)
            {
            case CharacterReply.Exists: message = DialogResourceID.CHARACTER_CREATE_NAME_EXISTS; break;

            case CharacterReply.Full: message = DialogResourceID.CHARACTER_CREATE_TOO_MANY_CHARS; break;

            case CharacterReply.NotApproved: message = DialogResourceID.CHARACTER_CREATE_NAME_NOT_APPROVED; break;

            case CharacterReply.Ok: message = DialogResourceID.CHARACTER_CREATE_SUCCESS; break;

            default: throw new ArgumentOutOfRangeException(nameof(response), response, null);
            }

            var messageBox = _messageBoxFactory.CreateMessageBox(message,
                                                                 EODialogButtons.Ok,
                                                                 EOMessageBoxStyle.SmallDialogLargeHeader);

            messageBox.ShowDialog();
        }
        private void OnButtonPressed(object sender, EventArgs e)
        {
            if (_inputBoxes.Any(tb => string.IsNullOrWhiteSpace(tb.Text)))
            {
                return;
            }

            if (Username != _playerInfoProvider.LoggedInAccountName)
            {
                var messageBox = _eoMessageBoxFactory.CreateMessageBox(DialogResourceID.CHANGE_PASSWORD_MISMATCH);
                messageBox.ShowDialog();
                return;
            }

            if (OldPassword != _playerInfoProvider.PlayerPassword)
            {
                var messageBox = _eoMessageBoxFactory.CreateMessageBox(DialogResourceID.CHANGE_PASSWORD_MISMATCH);
                messageBox.ShowDialog();
                return;
            }

            if (NewPassword != ConfirmPassword)
            {
                var messageBox = _eoMessageBoxFactory.CreateMessageBox(DialogResourceID.ACCOUNT_CREATE_PASSWORD_MISMATCH);
                messageBox.ShowDialog();
                return;
            }

            if (NewPassword.Length < 6)
            {
                var messageBox = _eoMessageBoxFactory.CreateMessageBox(DialogResourceID.ACCOUNT_CREATE_PASSWORD_TOO_SHORT);
                messageBox.ShowDialog();
                return;
            }

            Close(XNADialogResult.OK);
        }
Esempio n. 9
0
        private async void HandleArrowButtonClick(object sender, EventArgs e)
        {
            if (!_confirmedTraining)
            {
                var dialog = _messageBoxFactory.CreateMessageBox("Do you want to train?",
                                                                 "Character training",
                                                                 EODialogButtons.OkCancel);

                var result = await dialog.ShowDialogAsync();

                if (result == XNADialogResult.OK)
                {
                    _confirmedTraining = true;
                }
            }
            else
            {
                var index = _arrowButtons.Select((btn, ndx) => new { btn, ndx })
                            .Single(x => x.btn == sender).ndx;
                var characterStat = CharacterStat.Strength + index;
                _trainingController.AddStatPoint(characterStat);
            }
        }