示例#1
0
        void SwapTileWithOpenSpace(SlidingTile clickedTile)
        {
            int     newOpenTileIndex = clickedTile.Index;
            int     newTileIndex     = _currentOpenTile.Index;
            Vector2 newOpenGridPos   = GridPositionForTileIndex(newOpenTileIndex);
            Vector3 newTileGridPos   = GridPositionForTileIndex(newTileIndex);

            _gameBoard[(int)newOpenGridPos.x, (int)newOpenGridPos.y] = _currentOpenTile;
            _gameBoard[(int)newTileGridPos.x, (int)newTileGridPos.y] = clickedTile;

            Vector3 newOpenTilePosition = PositionForTileIndex(newOpenTileIndex);
            Vector3 newTilePosition     = PositionForTileIndex(newTileIndex);

            clickedTile.MoveToPosition(newTileIndex, newTilePosition);
            _currentOpenTile.MoveToPosition(newOpenTileIndex, newOpenTilePosition);
        }