From 6b1abe7afb9350a7890f6b893f59f72a3988aaab Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Mon, 07 Apr 2025 16:15:36 +0000
Subject: [PATCH] #50 added saveDataManager

---
 Assets/Scripts/Saving/SaveData.cs |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/Assets/Scripts/Saving/SaveData.cs b/Assets/Scripts/Saving/SaveData.cs
index cb1ee37..4366667 100644
--- a/Assets/Scripts/Saving/SaveData.cs
+++ b/Assets/Scripts/Saving/SaveData.cs
@@ -1,8 +1,9 @@
 using Assets.Scripts.Helpers;
 using System;
-using System.Collections;
 using System.Collections.Generic;
+using System.Linq;
 using UnityEngine;
+using UnityEngine.Tilemaps;
 
 #region player data
 [Serializable]
@@ -52,7 +53,8 @@
     public int seed;
     public List<DestroyedTile> destroyedTiles;
     public FogOfWarData fogOfWarData;
-    public SaveDataMap(List<Vector3Int> destroyedTiles, int seed, FogOfWarData fogOfWarData)
+    public List<SerializedChunkData> chunkData; // New field
+    public SaveDataMap(int seed, List<Vector3Int> destroyedTiles, Dictionary<Vector2Int, TileBase[]> chunkCache, FogOfWarData fogOfWarData)
     {
         this.seed = seed;
         this.destroyedTiles = new List<DestroyedTile>();
@@ -61,6 +63,8 @@
         {
             this.destroyedTiles.Add(new DestroyedTile(item));
         }
+        // Convert chunk cache to serializable format
+        this.chunkData = chunkCache.Select(kvp => new SerializedChunkData(kvp.Key, kvp.Value)).ToList();
     }
 }
 
@@ -87,4 +91,16 @@
 {
     public List<FogTileData> discoveredTiles = new List<FogTileData>();
 }
+[System.Serializable]
+public class SerializedChunkData
+{
+    public Vector2Int position;
+    public string[] tileNames; // Store tile names instead of TileBase references
+
+    public SerializedChunkData(Vector2Int pos, TileBase[] tiles)
+    {
+        position = pos;
+        tileNames = tiles.Select(t => t != null ? t.name : "null").ToArray();
+    }
+}
 #endregion

--
Gitblit v1.9.3