public void SetGameDefinition(GameDefinition gameDefinition) { IsGameOver = false; IsHighScore = false; Definition = gameDefinition; SelectedCells.Clear(); StartTime = DateTime.Now; Grid = new SquareDataViewModel[Definition.Width, Definition.Height]; GridStates = new Stack <GridState>(); Color = Definition.GameSet.Color; for (int x = 0; x < Definition.Width; x++) { for (int y = 0; y < Definition.Height; y++) { Grid[x, y] = new SquareDataViewModel { MarkerVisible = true, //HighColor = Color, //MedColor = "#ADD8E6", }; } } int index = 0; foreach (var gameLine in Definition.Lines) { int startX, startY; int endX, endY; index++; //if (string.IsNullOrWhiteSpace(gameLine.Key)) // gameLine.Key = index.ToString(); Definition.GetStartXY(gameLine, out startX, out startY); Definition.GetEndXY(gameLine, out endX, out endY); var square = Grid[startX, startY]; square.Fixed = true; square.PaletteIndex = index; square.Text = gameLine.Text; square.GameLine = gameLine; square = Grid[endX, endY]; square.Fixed = true; square.Text = gameLine.Text; square.PaletteIndex = index; square.GameLine = gameLine; } Level = string.Format("Level {0}", Definition.Index + 1); GetHighScore(); }