public BoardSerializable RetrieveBoardData()
        {
            BoardSerializable result = new BoardSerializable();

            result.ActiveTileList = new List<HexagonTileSerializable>();

            result.FortressesPerPlayer = this.Fortresses;

            foreach (HexagonTile t in hexagonList)
            {
                result.ActiveTileList.Add(new HexagonTileSerializable(t));
            }

            return result;
        }
        public void LoadSaveData(BoardSerializable boardData)
        {
            int id = 0;

            this.Fortresses = boardData.FortressesPerPlayer;

            this.PlayerFortress[0] = boardData.FortressesPerPlayer;
            this.PlayerFortress[1] = boardData.FortressesPerPlayer;
            this.PlayerFortress[2] = boardData.FortressesPerPlayer;

            //Dictionary<HexagonTileSerializable, HexagonTile> mapping = new Dictionary<HexagonTileSerializable, HexagonTile>();

            this.hexagonList.Clear();

            foreach (HexagonTileSerializable serializedTile in boardData.ActiveTileList)
            {
                HexagonTile tile = new HexagonTile()
                {
                    Id = serializedTile.Id,
                    TileType = serializedTile.TileType,
                    X = serializedTile.X,
                    Y = serializedTile.Y,
                    TileValue = serializedTile.TileValue,
                    Fortress = serializedTile.Fortress,
                };

                if (tile.TileType != TileType.none)
                {
                    //mapping.Add(serializedTile, tile);
                    this.hexagonList.Add(tile);
                }
            }

            foreach (HexagonTile tile in hexagonList)
            {
                MapUpTile(tile);
            }

            //this.SetTurn();
        }