Ejemplo n.º 1
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;
            }
        }
Ejemplo n.º 2
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     e.Handled = true;
     GameView.CompleteStep(_model.Game);
 }
Ejemplo n.º 3
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();
        }
Ejemplo n.º 4
0
 private void Grid_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
 {
     ViewModel.Game.ClientStep.ExtBattleUser.WCFBattleUser.AdditionalEffect = ViewModel.DecksNumber.ToString();
     GameView.CompleteStep(ViewModel.Game);
 }
Ejemplo n.º 5
0
 private void _IsFull_Button_Click(object sender, RoutedEventArgs e)
 {
     GameView.CompleteStep(Game);
 }