public void StartGame()
    {
        _symbolDatabase.SetAvailableSymbolCount(3); // hardcoded for now

        GameBoard.SetBoardDimensions(_gameOptions.BoardWidth, _gameOptions.BoardHeight);

        // randomly select tiles to match
        var tilesToMatch = GameBoard.Tiles
                           .OrderBy(v => UnityEngine.Random.Range(0f, 1f))
                           .Take(_gameOptions.TilesToMatch);

        GameBoard.BeginGame(tilesToMatch, _gameOptions.TimeTilesShown, AfterAnimation);
    }
    public void StartGame()
    {
        _symbolDatabase.SetAvailableSymbolCount(_gameOptions.TypesOfSymbolsCount);

        _manager.TimeLeft = _gameOptions.GameTimeLimit;
        _manager.Points   = 0;

        _gameBoard.SetBoardDimensions(_gameOptions.BoardWidth, _gameOptions.BoardHeight);
        var tilesToMatch = _gameBoard.Tiles
                           .OrderBy(t => UnityEngine.Random.Range(0f, 1f))
                           .Take(_gameOptions.TilesToMatch);

        _gameBoard.BeginGame(tilesToMatch, _gameOptions.TimeTilesShown, AfterAnimation);
        _manager.IsGameBoardAnimating = true;
    }