Пример #1
0
        private async Task SolveCommandAsync()
        {
            IsLoading = true;
            try
            {
                GameBoard.RejectChanges();
                await Task.Run(() => puzzle.Solve());

                GameBoard = new GameBoardWrapper(new GameBoard(puzzle.SolvedPuzzleArray));
            }
            finally
            {
                IsLoading = false;
            }
        }
Пример #2
0
        /// <summary>
        /// Load GameBoard object into viewmodel
        /// </summary>
        /// <param name="puzzleId">Determine which puzzle object to load (nullable will load fresh game)</param>
        /// <returns></returns>
        public async Task LoadPuzzle(int?puzzleId = null)
        {
            if (puzzleId.HasValue)
            {
                puzzle    = _gameRepository.GetPuzzleById(puzzleId.Value);
                GameBoard = new GameBoardWrapper(new GameBoard(puzzle.PuzzleArray));
            }
            else
            {
                puzzle = PuzzleFactory.GetPuzzle(Difficulty);
                await Task.Run(() => puzzle.CreatePuzzle());

                GameBoard = new GameBoardWrapper(new GameBoard(puzzle.PuzzleArray)
                {
                    State = ObjectState.Added
                });
            }
        }
Пример #3
0
        public void ShouldWrapGameBoardModel()
        {
            var gameBoardWrapper = new GameBoardWrapper(new GameBoard());

            Assert.IsInstanceOfType(gameBoardWrapper, typeof(GameBoardWrapper));
        }