/// <summary> /// Create a new GuiGameArea instance based on a GameArea instance /// </summary> /// <param name="gameArea"></param> public GuiGameArea(GameArea gameArea) { this.AreaList = new ObservableCollection<GuiArea>(); this.Path = new List<GuiArea>(); if (gameArea != null) { if (gameArea.AreaList != null) { foreach (var area in gameArea.AreaList) { GuiArea guiArea = new GuiArea(area); AreaList.Add(guiArea); } } if (gameArea.Path != null) { foreach (var pathArea in gameArea.Path) { Path.Add(AreaList.FirstOrDefault(x => x.AreaId == pathArea.AreaId)); } } } }
/// <summary> /// Create a new GuiGameArea instance based on a GameArea instance /// </summary> /// <param name="gameArea"></param> public GuiGameArea(GameArea gameArea) { AreaList = new ObservableCollection<GuiArea>(); foreach (var area in gameArea.AreaList) { AreaList.Add(new GuiArea(area)); } }
/// <summary> /// Constructor /// </summary> /// <param name="client"></param> /// <param name="area"></param> public ViewController(GameTcpClient client, GameArea area) { try { this.GameClient = client; this.GameArea = area; this.GameClient.ReceivedDataEvent += GameClientOnReceivedEvent; eventBackgroundWorker.WorkerSupportsCancellation = true; eventBackgroundWorker.DoWork += WaitForReceivingData; eventBackgroundWorker.RunWorkerAsync(); WrongPath = new List<Tuple<GuiArea, Area.AreaStatus>>(); } catch (Exception ex) { throw ex; } }
public void AddMap(GameArea map) { PlayableMaps.Add(map); }
/// <summary> /// Initialize GameView Model /// </summary> private void InitializeGameViewModel(int columns, int rows) { // create game configuration for export GameConfiguration = new GameConfiguration(columns, rows); GameConfiguration.Columns = columns; GameConfiguration.Rows = rows; CurrentGameArea = new GameArea(); GameConfiguration.GameAreas.Add(CurrentGameArea); // create all areas only for gui yet GameArea guiGameArea = new GameArea(); for (int column = 0; column < columns; column++) { for (int row = 0; row < rows; row++) { Area field = new Area(); field.Column = column; field.Row = row; field.Status = Area.AreaStatus.None; guiGameArea.AreaList.Add(field); } } // create gui GUIGameInstance = new GuiGameArea(guiGameArea) { AreaWidth = 800, AreaHeight = 600 }; }