Exemple #1
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;
                }
            }
        }
        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;
        }
        private void Item_MouseLeave(object sender, MouseEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
            {
                ExtUnitType unitType = (ExtUnitType)((Image)sender).DataContext;
                DragDrop.DoDragDrop(this, unitType, DragDropEffects.All);
                _ExtOrder.Step.Game.OnPropertyChanged("ViewUnit");

                if (_ExtOrder.Step.Game.ClientStep.ExtMarch.SumCost == _ExtOrder.ExtTerrain.WCFTerrain.Strength)
                {
                    ((Popup)this.Parent).IsOpen = false;
                }

                _ExtOrder.OnPropertyChanged("UnitTypeMenu");
            }
        }