Пример #1
0
    private static SaveData.SerializableMapDictionary ConvertMapForSaving(Cell[,] map)
    {
        var height = map.GetLength(0);
        var width  = map.GetLength(1);

        var convertedCells = new SaveData.SerializableMapDictionary();

        for (var currentRow = 0; currentRow < height; currentRow++)
        {
            for (var currentColumn = 0; currentColumn < width; currentColumn++)
            {
                var currentCell = map[currentRow, currentColumn];

                var tempSdo = CellSdo.ConvertToCellSdo(currentCell);

                convertedCells.Add(currentCell.Id, tempSdo);
            }
        }

        return(convertedCells);
    }
Пример #2
0
    private static Cell[,] ConvertMapForPlaying(SaveData.SerializableMapDictionary savedMap)
    {
        var tempMap = WorldData.Instance.Map;

        foreach (var cellSdo in savedMap)
        {
            var x = cellSdo.Value.X;
            var y = cellSdo.Value.Y;

            tempMap[x, y] = CellSdo.ConvertToCell(cellSdo.Value);

            if (WorldData.Instance.MapDictionary.ContainsKey(cellSdo.Key))
            {
                WorldData.Instance.MapDictionary[cellSdo.Key] = tempMap[x, y];
            }
            else
            {
                WorldData.Instance.MapDictionary.Add(cellSdo.Key, tempMap[x, y]);
            }
        }

        return(tempMap);
    }