コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MultiPlayerView"/> class.
        /// </summary>
        /// <param name="spvm">The SPVM.</param>
        public MultiPlayerView(MultiPlayerViewModel spvm)
        {
            InitializeComponent();
            vm                           = spvm;
            DataContext                  = vm;
            MazeControl.DataContext      = vm;
            OtherMazeControl.DataContext = vm;
            closeWin                     = false;

            vm.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e) {
                if (e.PropertyName == "mazeGenerated")
                {
                    MazeControl.DrawMazeBoard();
                    OtherMazeControl.DrawMazeBoard();
                }
            };

            vm.PropertyChanged += delegate(Object sender, PropertyChangedEventArgs e) {
                if ((e.PropertyName != "otherPlayerLeaved" && e.PropertyName != "loseMaze" && e.PropertyName != "wonMaze" && e.PropertyName != "lostConnection") || closeWin == true)
                {
                    return;
                }

                string message;
                string windowName;

                if (e.PropertyName == "otherPlayerLeaved")
                {
                    closeWin   = true;
                    message    = "Other player leaved";
                    windowName = "Other leaved window";
                }
                else if (e.PropertyName == "loseMaze")
                {
                    message    = "YOU LOSER !!!";
                    windowName = "Lose Window";
                }
                else if (e.PropertyName == "wonMaze")
                {
                    message    = "YOU WON !!!";
                    windowName = "Won Window";
                }
                else
                {
                    message    = "Lost connection";
                    windowName = "Lost connection Window";
                }

                this.Dispatcher.Invoke(() => {
                    MessageBox.Show(this, message, windowName, MessageBoxButton.OK);
                    MainWindow win = new MainWindow();
                    win.Show();
                    this.Close();
                });
            };
            vm.Initialize(Properties.Settings.Default.ServerIP, Properties.Settings.Default.ServerPort);
        }
コード例 #2
0
        /// <summary>
        /// Cosntructor
        /// </summary>
        /// <param name="maze">Maze handle</param>
        public MazePropertiesForm(Maze maze)
        {
            InitializeComponent();

            MazeControl.SetMaze(maze);
        }