Ejemplo n.º 1
0
        /// <summary>
        /// Creates the board
        /// </summary>
        /// <returns></returns>
        public ObservableCollection <SquareViewModel> CreateBoard(int sizeX, int sizeY)
        {
            ObservableCollection <SquareViewModel> board = new ObservableCollection <SquareViewModel>();

            for (int j = 0; j < sizeY; j++)
            {
                for (int i = 0; i < sizeX; i++)
                {
                    SquareViewModel a_square = new SquareViewModel(i, j, SquareViewModel.square_type.Normal);
                    if (a_square.BareTileType == SquareViewModel.bare_tile_type.tile1)
                    {
                        a_square.ImageName = "/MagsGame;component/Resources/Earth1.jpg";
                    }
                    if (a_square.BareTileType == SquareViewModel.bare_tile_type.tile2)
                    {
                        a_square.ImageName = "/MagsGame;component/Resources/Earth2.jpg";
                    }
                    if (a_square.BareTileType == SquareViewModel.bare_tile_type.tile3)
                    {
                        a_square.ImageName = "/MagsGame;component/Resources/Earth3.jpg";
                    }
                    if (a_square.BareTileType == SquareViewModel.bare_tile_type.tile4)
                    {
                        a_square.ImageName = "/MagsGame;component/Resources/Earth4.jpg";
                    }
                    board.Add(a_square);
                }
            }

            return(board);
        }
        public void View_will_automatically_bind_to_corresponding_viewmodel()
        {
            var app = new Application();

            var container = new WindsorContainer();
            container.AddFacility(new ViewModelRegistrationFacility(Application.Current));

            container.Register(Component.For<SquareViewModel>().ImplementedBy<SquareViewModel>());

            var window = new Window();
            app.MainWindow = window;

            var contentPresenter = new ContentPresenter();
            window.Content = contentPresenter;
            var vm = new SquareViewModel();
            contentPresenter.Content = vm;

            window.Show();

            try
            {
                var child = VisualTreeHelper.GetChild(contentPresenter, 0);
                Assert.That(child, Is.InstanceOf<SquareView>());
                Assert.That(((Control) child).DataContext, Is.SameAs(vm));
            }
            finally
            {
                window.Close();
            }
        }
Ejemplo n.º 3
0
        private static void CreateSquare(int row, int col, Panel grid)
        {
            var squareColor = (row + col) % 2 == 0 ? Colors.White : Colors.Black;
            var square      = new Canvas {
                Width = InterfaceSettings.SquareSize, Height = InterfaceSettings.SquareSize, Background = new SolidColorBrush(squareColor)
            };

            grid.Children.Add(square);
            Grid.SetRow(square, row);
            Grid.SetColumn(square, col);

            var squareViewModel = new SquareViewModel(Square.At(row, col));

            square.DataContext = squareViewModel;

            var pieceImage = new Image();

            BindingOperations.SetBinding(pieceImage, Image.SourceProperty, new Binding("Image"));
            pieceImage.Height = pieceImage.Width = (InterfaceSettings.SquareSize - 4); //Allow for border space...

            var pieceBorder = new Border {
                BorderThickness = new Thickness(2)
            };

            BindingOperations.SetBinding(pieceBorder, Border.BorderBrushProperty, new Binding("Self")
            {
                Converter = new SquareToBorderBrushConverter()
            });
            pieceBorder.Child = pieceImage;

            square.MouseDown += SquareOnMouseDown;

            square.Children.Add(pieceBorder);
        }
Ejemplo n.º 4
0
 public IActionResult Squared(SquareViewModel model, string command)
 {
     if (command == "do")
     {
         _modelService.Square(model);
     }
     return(View(model));
 }
Ejemplo n.º 5
0
 public int Square(SquareViewModel model)
 {
     foreach (var item in model.SquareArray)
     {
         model.SumValue += Convert.ToInt32(Math.Pow(item, 2));
     }
     return(model.SumValue);
 }
Ejemplo n.º 6
0
 public SquareView(SquareViewModel viewModel)
 {
     InitializeComponent();
     _viewModel                  = viewModel;
     this.DataContext            = _viewModel;
     _viewModel.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(viewModel_PropertyChanged);
     SetColors();
     SetThickness();
 }
Ejemplo n.º 7
0
 public IActionResult Index(SquareViewModel model, string command)
 {
     if (command == "change array size")
     {
         return(Redirect("Squared"));
     }
     else
     {
         return(View());
     }
 }
Ejemplo n.º 8
0
        public void AnimateVertically_WhenYEqualsYRequest_DoesNothing()
        {
            //arrange
            SquareView      squareView      = new SquareView();
            double          startTopMargin  = squareView.Margin.Top;
            SquareViewModel squareViewModel = new SquareViewModel(0, 0, 2);

            //act
            AnimationExtensions.AnimateVertically(squareView, squareViewModel);
            //assert
            Assert.That(squareView.Margin.Top == startTopMargin);
        }
Ejemplo n.º 9
0
        public void AnimateHorizontally_WhenXEqualsXRequest_DoesNothing()
        {
            //arrange
            SquareView      squareView      = new SquareView();
            double          startLeftMargin = squareView.Margin.Left;
            SquareViewModel squareViewModel = new SquareViewModel(0, 0, 2);

            //act
            AnimationExtensions.AnimateHorizontally(squareView, squareViewModel);
            //assert
            Assert.That(squareView.Margin.Left == startLeftMargin);
        }
Ejemplo n.º 10
0
        private void MoveDropHintEllipseToSquare(SquareView square)
        {
            if (dropHintEllipse == null)
            {
                throw new InvalidOperationException("The drop hint ellipse should not be null.");
            }

            SquareViewModel squareVM          = (SquareViewModel)square.DataContext;
            Point           squareMiddlePoint = GetSquareMiddlePoint(squareVM.Coordinate);

            Canvas.SetTop(dropHintEllipse, squareMiddlePoint.Y - dropHintEllipse.Height / 2);
            Canvas.SetLeft(dropHintEllipse, squareMiddlePoint.X - dropHintEllipse.Width / 2);
        }
Ejemplo n.º 11
0
 public static void AnimateHorizontally(this View self, SquareViewModel square, Action <double, bool> finished = null)
 {
     if (square.X > square.XRequest)
     {
         //left
         new Animation(v => self.Margin = new Thickness(-v * self.Width * Math.Abs(square.X - square.XRequest), 0, v * self.Width * Math.Abs(square.X - square.XRequest), 0), 0, 1)
         .Commit(self, "LeftAnimation", 16, 250, Easing.Linear, finished, () => false);
     }
     else if (square.X < square.XRequest)
     {
         //right
         new Animation(v => self.Margin = new Thickness(v * self.Width * Math.Abs(square.X - square.XRequest), 0, -v * self.Width * Math.Abs(square.X - square.XRequest), 0), 0, 1)
         .Commit(self, "RightAnimation", 16, 250, Easing.Linear, finished, () => false);
     }
 }
Ejemplo n.º 12
0
 public static void AnimateVertically(this View self, SquareViewModel square, Action <double, bool> finished = null)
 {
     if (square.Y > square.YRequest)
     {
         //top
         new Animation(v => self.Margin = new Thickness(0, -v * self.Height * Math.Abs(square.Y - square.YRequest), 0, v * self.Height * Math.Abs(square.Y - square.YRequest)), 0, 1)
         .Commit(self, "TopAnimation", 16, 250, Easing.Linear, finished, () => false);
     }
     else if (square.Y < square.YRequest)
     {
         //bottom
         new Animation(v => self.Margin = new Thickness(0, v * self.Height * Math.Abs(square.Y - square.YRequest), 0, -v * self.Height * Math.Abs(square.Y - square.YRequest)), 0, 1)
         .Commit(self, "BottomAnimation", 16, 250, Easing.Linear, finished, () => false);
     }
 }
Ejemplo n.º 13
0
        private void BindBoard()
        {
            for (int i = 0; i < 9; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    SquareViewModel square   = GameBoard.GameArray[i, j];
                    SquareView      uiSquare = new SquareView(square);
                    LayoutRoot.Children.Add(uiSquare);
                    uiSquare.BoxClicked += new EventHandler(ChildBoxClicked);

                    Grid.SetRow(uiSquare, i);
                    Grid.SetColumn(uiSquare, j);

                    uiSquare.DataContext = square;
                }
            }
        }
Ejemplo n.º 14
0
        private void ChildBoxClicked(object sender, EventArgs e)
        {
            SquareViewModel inputSquare = (SquareViewModel)((SquareView)sender).DataContext;

            if (GameBoard.SelectedBox != null)
            {
                GameBoard.SelectedBox.IsSelected = false;
            }

            if (GameBoard.SelectedBox == inputSquare || !inputSquare.IsEditable)
            {
                GameBoard.SelectedBox = null;
            }
            else
            {
                GameBoard.SelectedBox            = inputSquare;
                GameBoard.SelectedBox.IsSelected = true;
            }
        }
Ejemplo n.º 15
0
        private void OnSquarePointerMoved(object sender, PointerRoutedEventArgs e)
        {
            if (!isDragStarted && pointerPressSquare != null && e.Pointer.IsInContact)
            {
                SquareViewModel squareVM = (SquareViewModel)pointerPressSquare.DataContext;
                dragSourcePieceViewModel = ViewModel.GetPiece(squareVM.Coordinate);

                if (dragSourcePieceViewModel != null)
                {
                    PointerPoint pointerPoint = e.GetCurrentPoint(board);
                    if (!HasPointerMovedEnaugh(pointerPoint.Position))
                    {
                        return;
                    }

                    StartDragMove(e.Pointer, pointerPoint);
                }
            }
        }
Ejemplo n.º 16
0
        public void SpawnSquares(int count)
        {
            int i = 0;

            if (count > (boardContainer.Width * boardContainer.Height - boardContainer.Squares.Count))
            {
                throw new BoardOutOfSpaceException();
            }

            while (i != count)
            {
                SquareViewModel squareViewModel = new SquareViewModel(random.Next(0, boardContainer.Width), random.Next(0, boardContainer.Height), 2);
                if (!boardContainer.Squares.Any(x => x.XRequest == squareViewModel.XRequest && x.YRequest == squareViewModel.YRequest))
                {
                    boardContainer.Squares.Add(squareViewModel);
                    i++;
                }
            }
        }
Ejemplo n.º 17
0
 public void SetSquare()
 {
     Content = new SquareViewModel();
     NotifyPropertyChanged("Content");
 }
Ejemplo n.º 18
0
 public MainViewModel()
 {
     Content          = new SquareViewModel();
     BtnSquareCommand = new RelayCommand(SetSquare);
     BtnCircleCommand = new RelayCommand(SetCircle);
 }
Ejemplo n.º 19
0
 public IActionResult Squared(SquareViewModel model)
 {
     return(View(model));
 }
Ejemplo n.º 20
0
 public IActionResult Index(SquareViewModel model)
 {
     model.ArraySize = i;
     return(View(model));
 }