예제 #1
0
        private void OKButton_Click(object sender, RoutedEventArgs e)
        {
            var btn = (Button)sender;

            ViewModel.Game.ClientStep.WCFStep.VesterosAction.ActionNumber = int.Parse(btn.Content.ToString());
            GameView.CompleteStep(ViewModel.Game);
        }
예제 #2
0
        //!!!ошибка не содержит элементов
        private void UserControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            //Если у клиента нет текущего хода
            if (_ExtOrder.Step.Game.ClientStep == null)
            {
                return;
            }

            if (_ExtOrder.Step.WCFStep.StepType == "Подмога")
            {
                return;
            }

            //Отмена приказа другого пользователя
            if (_ExtOrder.Step.Game.ClientStep.WCFStep.StepType == "Королева_Шипов" ||
                _ExtOrder.Step.Game.ClientStep.WCFStep.StepType == "Серсея_Ланнистер")
            {
                if (Opacity != 1)
                {
                    return;
                }

                _ExtOrder.Step.Game.ClientStep.WCFStep.BattleUser.AdditionalEffect = _ExtOrder.WCFOrder.Id.ToString();
                App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), string.Format(App.GetResources("text_selectedOrder"), App.GetResources("orderType_" + _ExtOrder.ExtOrderType.WCFOrderType.Name)), 2);
                GameView.CompleteStep(_ExtOrder.Step.Game);

                return;
            }

            //Только владелец в свой ход
            if (_ExtOrder.Step != _ExtOrder.Step.Game.ClientStep)
            {
                return;
            }

            //Этап замысла
            if (_ExtOrder.Step.WCFStep.StepType == "Замысел" ||
                _ExtOrder.Step.WCFStep.StepType == "Неожиданный_шаг")
            {
                if (_ExtOrder.Step.WCFStep.StepType == "Замысел")
                {
                    _ExtOrder.WCFOrder.OrderType = null;
                }
                _ExtOrder.OnPropertyChanged("ImageName");
                OrderTypePopup.IsOpen = true;
                return;
            }

            //ход должен соответствовать типу приказа
            if (_ExtOrder.Step.WCFStep.StepType.Contains(_ExtOrder.ExtOrderType.WCFOrderType.DoType))
            {
                _ExtOrder.IsSelected = true;

                if (_ExtOrder.Step.WCFStep.StepType.Contains("Усиление_власти"))
                {
                    UnitTypePopup.IsOpen = true;
                }
            }
        }
예제 #3
0
        private void NoButton_Click(object sender, RoutedEventArgs e)
        {
            if (ClientStep == null)
            {
                return;
            }

            ClientStep.WCFStep.Raven.StepType = "No";
            GameView.CompleteStep(Game);
        }
예제 #4
0
        private void Cancel_Button_Click(object sender, RoutedEventArgs e)
        {
            e.Handled = true;
            if (ClientStep == null)
            {
                return;
            }

            GameView.CompleteStep(Game);
        }
        private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (_GameUserInfo.Step.Game.ClientStep == null)
            {
                return;
            }

            _GameUserInfo.Step.Game.ClientStep.WCFStep.Raven.StepType = _GameUserInfo.Step.ExtGameUser.WCFGameUser.HomeType;
            GameView.CompleteStep(_GameUserInfo.Step.Game);
        }
예제 #6
0
        private void ChangeCard_Button_Click(object sender, RoutedEventArgs e)
        {
            e.Handled = true;
            if (ClientStep == null)
            {
                return;
            }

            ClientStep.WCFStep.Raven.StepType = "Карта_перевеса";
            GameView.CompleteStep(Game);
        }
예제 #7
0
        private void StrengthUp_Button_Click(object sender, RoutedEventArgs e)
        {
            e.Handled = true;
            if (ClientStep == null)
            {
                return;
            }

            ClientStep.WCFStep.Raven.StepType = "Валирийский_меч";
            GameView.CompleteStep(Game);
        }
예제 #8
0
        private void No_Button_Click(object sender, RoutedEventArgs e)
        {
            e.Handled = true;
            if (ClientStep == null)
            {
                return;
            }

            ClientStep.ExtBattleUser.WCFBattleUser.AdditionalEffect = string.Empty;
            GameView.CompleteStep(Game);
        }
        private void Image_MouseUp(object sender, MouseButtonEventArgs e)
        {
            if (ClientStep == null)
            {
                return;
            }

            var user = (ExtGameUserInfo)((FrameworkElement)sender).DataContext;

            ClientStep.WCFStep.Raven.StepType = user.Step.ExtGameUser.WCFGameUser.HomeType;
            GameView.CompleteStep(ClientStep.Game);
        }
예제 #10
0
        private void RaidImage_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;

            if (_ExtOrder.Step.Game.ClientStep == null)
            {
                return;
            }

            _ExtOrder.Step.Game.ClientStep.WCFStep.Raid.TargetOrder = _ExtOrder.WCFOrder.Id;
            GameView.CompleteStep(_ExtOrder.Step.Game);
        }
예제 #11
0
        private void BarbarianDownBtn(object sender, RoutedEventArgs e)
        {
            e.Handled = true;
            if (ClientStep == null)
            {
                return;
            }

            ClientStep.ExtBattleUser.WCFBattleUser.AdditionalEffect = "Down";

            GameView.CompleteStep(Game);
        }
예제 #12
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            e.Handled = true;
            if (ClientStep == null)
            {
                return;
            }

            var battleInfo = (ExtBattleUser)this.DataContext;

            ClientStep.ExtSupport.WCFSupport.SupportUser = battleInfo.Step.ExtGameUser.WCFGameUser.Id;
            GameView.CompleteStep(Game);
        }
예제 #13
0
        private void Image_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var img = sender as Image;

            if (img != null)
            {
                var viewModel = img.DataContext as ViewModel;
                if (viewModel != null)
                {
                    ClientStep.WCFStep.BattleUser.AdditionalEffect = viewModel.id;
                    GameView.CompleteStep(Game);
                }
            }
        }
예제 #14
0
        private void Item_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;

            _ExtOrder.WCFOrder.OrderType = ((ExtOrderType)((Image)e.OriginalSource).DataContext).WCFOrderType.Name;
            _ExtOrder.OnPropertyChanged("ImageName");

            if (_ExtOrder.Step.WCFStep.StepType == "Неожиданный_шаг")
            {
                GameView.CompleteStep(_ExtOrder.Step.Game);
            }

            ((Popup)this.Parent).IsOpen = false;
        }
예제 #15
0
        private void UserControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            var clientStep = _Symbolic.Game.ClientStep;

            if (clientStep == null)
            {
                return;
            }

            switch (clientStep.WCFStep.StepType)
            {
            case "dragon_Ser_Gerris_Drinkwater":
            case "Доран_Мартелл":
                clientStep.ExtBattleUser.WCFBattleUser.AdditionalEffect = _Symbolic.WCFSymbolic.Name;
                GameView.CompleteStep(_Symbolic.Game);
                break;

            case "Посыльный_ворон":
                switch (_Symbolic.WCFSymbolic.Name)
                {
                case "Посыльный_ворон":
                    clientStep.WCFStep.Raven.StepType = "Неожиданный_шаг";
                    GameView.CompleteStep(_Symbolic.Game);
                    break;

                case "Карта_одичалых":
                    clientStep.WCFStep.Raven.StepType = "Разведка_за_стеной";
                    GameView.CompleteStep(_Symbolic.Game);
                    break;
                }
                break;

            default:
                if (_Symbolic.Background is ImageBrush)
                {
                    break;
                }

                clientStep.WCFStep.Raven.StepType = _Symbolic.WCFSymbolic.Name;
                GameView.CompleteStep(_Symbolic.Game);
                break;
            }
        }
예제 #16
0
        private void Yes_Button_Click(object sender, RoutedEventArgs e)
        {
            e.Handled = true;
            if (ClientStep == null)
            {
                return;
            }

            switch (ClientStep.WCFStep.StepType)
            {
            case "Тирион_Ланнистер":
                ClientStep.ExtBattleUser.WCFBattleUser.AdditionalEffect = ClientStep.Game.ViewGameInfo.ExtBattle.ClientOpponent.LastStep.WCFStep.BattleUser.HomeCardType;
                break;

            default:
                ClientStep.ExtBattleUser.WCFBattleUser.AdditionalEffect = "Yes";
                break;
            }

            GameView.CompleteStep(Game);
        }
예제 #17
0
 private void _IsFull_Button_Click(object sender, RoutedEventArgs e)
 {
     GameView.CompleteStep(Game);
 }
예제 #18
0
        private void HomeCard_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (Game == null || Game.ClientStep == null)
            {
                return;
            }

            var grid = sender as Grid;

            if (grid == null)
            {
                return;
            }

            var homeCard = grid.DataContext as ExtHomeCardType;

            if (homeCard == null)
            {
                return;
            }

            //вернуть карту
            if (Game.ClientStep.WCFStep.StepType == "Наездники_на_мамонтах")
            {
                if (!homeCard.IsUsed || _HomeType.WCFHomeType.Name != Game.ClientGameUser.WCFGameUser.HomeType)
                {
                    App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("text_accessDenied"));
                    return;
                }

                Game.ClientStep.WCFStep.Raven.StepType = homeCard.WCFHomeCardType.Name;
                GameView.CompleteStep(Game);
                return;
            }
            if (Game.ClientStep.WCFStep.StepType == "dragon_Melisandre")
            {
                if (!homeCard.IsUsed || _HomeType.WCFHomeType.Name != Game.ClientGameUser.WCFGameUser.HomeType ||
                    homeCard.WCFHomeCardType.Strength > Game.ClientGameUser.LastStep.ExtGameUserInfo.WCFGameUserInfo.Power)
                {
                    App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("text_accessDenied"));
                    return;
                }

                Game.ClientStep.WCFStep.BattleUser.AdditionalEffect = homeCard.WCFHomeCardType.Name;
                GameView.CompleteStep(Game);
                return;
            }

            if (Game.ClientStep.WCFStep.StepType == "Сражение" && (Game.ClientStep.WCFStep.BattleUser.AdditionalEffect?.EndsWith("dragon_Qyburn") ?? false))
            {
                if (!homeCard.IsUsed)
                {
                    App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("text_accessDenied"));
                    return;
                }

                Game.ClientStep.WCFStep.BattleUser.HomeCardType = homeCard.WCFHomeCardType.Name;
                GameView.CompleteStep(Game);
                return;
            }

            //карта в сбросе
            if (homeCard.IsUsed)
            {
                App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("validation_homeCard2"));
                return;
            }

            //сбросить карту
            if (Game.ClientStep.WCFStep.StepType == "Пестряк")
            {
                if (_HomeType.WCFHomeType.Name != Game.ViewGameInfo.ExtBattle.ClientOpponent.WCFGameUser.HomeType)
                {
                    App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("text_accessDenied"));
                    return;
                }

                Game.ClientStep.WCFStep.BattleUser.AdditionalEffect = homeCard.WCFHomeCardType.Name;
                GameView.CompleteStep(Game);
                return;
            }

            //Только владелец в свой ход
            if (_HomeType.HomeGameUser.LastStep != Game.ClientStep)
            {
                return;
            }

            switch (Game.ClientStep.WCFStep.StepType)
            {
            case "Сражение":
                Game.ClientStep.WCFStep.BattleUser.HomeCardType = homeCard.WCFHomeCardType.Name;
                GameView.CompleteStep(Game);
                break;

            case "Сбор_на_Молоководной":
                Game.ClientStep.WCFStep.Raven.StepType = homeCard.WCFHomeCardType.Name;
                GameView.CompleteStep(Game);
                break;
            }

            Game.OnHomeCardSelected();
        }
예제 #19
0
        private void UserControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (_Unit.Step.Game.ClientStep == null)
            {
                return;
            }

            if (_Unit.Step.Game.ClientStep.WCFStep.StepType == "dragon_Ser_Ilyn_Payne")
            {
                if (_Unit.WCFUnit.UnitType != "Пеший_воин")
                {
                    App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("validation_ranly1"));
                    return;
                }

                _Unit.Step.Game.ClientStep.WCFStep.BattleUser.AdditionalEffect = _Unit.WCFUnit.Id.ToString();
                GameView.CompleteStep(_Unit.Step.Game);
                return;
            }

            //Только владелец в свой ход
            if (_Unit.Step != _Unit.Step.Game.ClientStep)
            {
                return;
            }

            switch (_Unit.Step.WCFStep.StepType)
            {
            case "Поход":
                if (!_Unit.WCFUnit.IsWounded &&
                    _Unit.Step.Game.SelectedOrder != null &&
                    _Unit.WCFUnit.Terrain == _Unit.Step.Game.SelectedOrder.WCFOrder.Terrain)
                {
                    _Unit.IsSelected = !_Unit.IsSelected;
                }
                break;

            case "Робб_Старк":
            case "Отступление":
                if (_Unit.WCFUnit.Terrain == _Unit.Step.Game.ViewGameInfo.ExtBattle.WCFBattle.DefenceTerrain)
                {
                    _Unit.IsSelected = !_Unit.IsSelected;
                }
                break;

            case "Убийцы_ворон":
            case "Наездники_на_мамонтах_роспуск_войск":
            case "Наступление_орды":
            case "Передовой_отряд":
            case "Роспуск_войск":
                ExtMarchUnit result = _Unit.Step.ExtMarch.ExtMarchUnit.SingleOrDefault(p => p.ExtUnit == _Unit);
                if (result != null)
                {
                    _Unit.IsSelected             = !_Unit.IsSelected;
                    result.WCFMarchUnit.UnitType = _Unit.IsSelected ? null : _Unit.WCFUnit.UnitType;
                }
                break;

            case "Ренли_Баратеон":
                if (_Unit.WCFUnit.UnitType != "Пеший_воин")
                {
                    App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("validation_ranly1"));
                    return;
                }

                if (!_Unit.Step.WCFStep.BattleUser.AdditionalEffect.Contains(_Unit.WCFUnit.Id.ToString()))
                {
                    App.Agot2.errorView.ShowByDispatcher(App.GetResources("text_notify"), App.GetResources("validation_ranly2"));
                    break;
                }

                _Unit.IsSelected = !_Unit.IsSelected;
                _Unit.Step.WCFStep.BattleUser.AdditionalEffect = _Unit.WCFUnit.Id.ToString();
                GameView.CompleteStep(_Unit.Step.Game);
                break;
            }
        }
예제 #20
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     e.Handled = true;
     GameView.CompleteStep(_model.Game);
 }
예제 #21
0
 private void Grid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     ViewModel.Game.ClientStep.ExtBattleUser.WCFBattleUser.AdditionalEffect = ViewModel.DecksNumber.ToString();
     GameView.CompleteStep(ViewModel.Game);
 }