Exemplo n.º 1
0
        protected override void OnStartup(StartupEventArgs e)
        {
            //HubConnection connection = new HubConnectionBuilder()
            //    .WithUrl("https://margesignalr20201107074704.azurewebsites.net/margechat")
            //    .Build();

            ConnectionProxy connectionProxy = new ConnectionProxy();

            var player = new PlayerBuilder();

            player.BuildPlayerName();
            player.BuildPlayerColor();
            player.BuildPlayerPos();

            var enemy = new EnemyBuilder();

            enemy.BuildPlayerName();
            enemy.BuildPlayerColor();
            enemy.BuildPlayerPos();
            enemy.passConnection(connectionProxy);

            var   darkenBoard = new Darken();
            Board board       = new Board(darkenBoard);
            BoardCoordinatesViewModel chatViewModel = BoardCoordinatesViewModel.CreateConnectedViewModel(connectionProxy, player.GetPlayer(), enemy.GetEnemy(), board);

            MainWindow window = new MainWindow
            {
                DataContext = new MainViewModel(chatViewModel, board)
            };

            window.Show();

            NeutralTileFactory factory = new NeutralTileFactory();

            for (int i = 0; i < 5; i++)
            {
                AbstractNeutralTile tile = factory.GetNeutralTile("Darkest");
                tile.Display(connectionProxy);
            }

            for (int i = 0; i < 5; i++)
            {
                AbstractNeutralTile tile = factory.GetNeutralTile("Lightest");
                tile.Display(connectionProxy);
            }
        }
Exemplo n.º 2
0
        public void Update(ColumnViewModel columnViewModel)
        {
            ColumnViewModel = columnViewModel;

            TableViewModel tvm = (this.DataContext as TableViewModel);

            Canvas.SetTop(LowerColumnHeaderWrapperElement, tvm.Height - Const.ColumnHeaderHeight);

            if (columnViewModel != null)
            {
                Int32 columnIndex = columnViewModel.Index;
                Int32 index       = 0;

                foreach (RowViewModel rowViewModel in tvm.ActivatedRowViewModels)
                {
                    TextBlock cell;
                    if (index < TableCanvas.Children.Count)
                    {
                        cell            = TableCanvas.Children[index] as TextBlock;
                        cell.Visibility = Visibility.Visible;
                    }
                    else
                    {
                        cell = new TextBlock()
                        {
                            Style = Const.CellStyle
                        };
                        TableCanvas.Children.Add(cell);
                    }

                    String text = rowViewModel.Cells[columnIndex].Content.ToString();
                    cell.Text  = text;
                    cell.Width = columnViewModel.Width;
                    Canvas.SetTop(cell, rowViewModel.Y);
                    index++;
                }

                for (Int32 i = index; i < TableCanvas.Children.Count; ++i)
                {
                    TableCanvas.Children[i].Visibility = Visibility.Collapsed;
                }

                Double left = columnViewModel.X - tvm.ScrollLeft;

                if (left - columnViewModel.Width / 2 <= 0)
                {
                    UpperColumn.RenderTransformOrigin = new Point(0, 0);
                    LowerColumnHeaderWrapperElement.RenderTransformOrigin = new Point(0, 1);

                    Canvas.SetLeft(UpperPopupElement, 60);
                    Canvas.SetLeft(LowerPopupElement, 60);
                }
                else if (left + columnViewModel.Width * 3 / 2 >= tvm.SheetViewWidth)
                {
                    UpperColumn.RenderTransformOrigin = new Point(1, 0);
                    LowerColumnHeaderWrapperElement.RenderTransformOrigin = new Point(1, 1);

                    Canvas.SetLeft(UpperPopupElement, columnViewModel.Width - 60);
                    Canvas.SetLeft(LowerPopupElement, columnViewModel.Width - 60);
                }
                else
                {
                    UpperColumn.RenderTransformOrigin = new Point(0.5, 0);
                    LowerColumnHeaderWrapperElement.RenderTransformOrigin = new Point(0.5, 1);

                    Canvas.SetLeft(UpperPopupElement, columnViewModel.Width / 2);
                    Canvas.SetLeft(LowerPopupElement, columnViewModel.Width / 2);
                }

                Canvas.SetLeft(MagnifiedColumn, left);

                UpperColumnHeaderWrapperElement.Width       = LowerColumnHeaderWrapperElement.Width = MagnifiedColumn.Width = columnViewModel.Width;
                UpperColumnHeaderWrapperElement.DataContext = LowerColumnHeaderWrapperElement.DataContext = columnViewModel;

                Canvas.SetTop(UpperPopupElement, Const.ColumnHeaderHeight * 0.2);
                Canvas.SetTop(LowerPopupElement, columnViewModel.MainPageViewModel.Bounds.Height - Const.ColumnHeaderHeight * 1.7);

                Wrapper.Visibility = Visibility.Visible;

                TableScrollViewer.Height = tvm.SheetViewHeight;
                TableScrollViewer.ChangeView(null, tvm.ScrollTop, null, true);

                if (Const.PopupMenuEnabled)
                {
                    if (columnViewModel.IsHidden)
                    {
                        UpperRightMenuElement.Visibility = Visibility.Collapsed;
                        UpperLeftMenuElement.Visibility  = Visibility.Visible;
                        LowerRightMenuElement.Visibility = Visibility.Collapsed;
                        LowerLeftMenuElement.Visibility  = Visibility.Visible;
                    }
                    else
                    {
                        UpperRightMenuElement.Visibility = Visibility.Visible;
                        UpperLeftMenuElement.Visibility  = Visibility.Collapsed;
                        LowerRightMenuElement.Visibility = Visibility.Visible;
                        LowerLeftMenuElement.Visibility  = Visibility.Collapsed;
                    }
                }

                Brighten.Stop();
                if (Darken.GetCurrentState() != ClockState.Active)
                {
                    Darken.Begin();
                }
            }
            else
            {
                TableScrollViewer.Height = tvm.SheetViewHeight;
                if (Brighten.GetCurrentState() != ClockState.Active)
                {
                    Brighten.Begin();
                }
                Darken.Stop();

                if (Const.PopupMenuEnabled)
                {
                    UpperDownMenuElement.Hide();
                    UpperLeftMenuElement.Hide();
                    UpperRightMenuElement.Hide();

                    LowerUpMenuElement.Hide();
                    LowerLeftMenuElement.Hide();
                    LowerRightMenuElement.Hide();
                }
            }
        }
 DEFINE_STANDARD_OP(Darken, MIN)