/// <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); }
/// <summary> /// Cosntructor /// </summary> /// <param name="maze">Maze handle</param> public MazePropertiesForm(Maze maze) { InitializeComponent(); MazeControl.SetMaze(maze); }