Savesystem rework

This commit is contained in:
2025-11-23 21:02:40 +01:00
parent 4bbaab1a2a
commit fda2b95b38
5 changed files with 56 additions and 29 deletions
@@ -185,10 +185,6 @@ public partial class FieldBehaviour2D : Sprite2D, ISaveable
public void UpdateSaveData()
{
var saveData = new SaveData();
saveData.SceneName = _sceneKeyProvider.Payload.AsString();
saveData.Id = SaveId + _fieldIndex.Payload.AsString();
var payloadData = new Dictionary<string, Variant>
{
{ "field_state", (int)FieldState }
@@ -206,20 +202,15 @@ public partial class FieldBehaviour2D : Sprite2D, ISaveable
);
}
saveData.JsonPayload = Json.Stringify(payloadData, indent: "\t");
SavegameService.AppendSave(saveData);
SavegameService.AppendDataToSave(_sceneKeyProvider.Payload.AsString(), SaveId + _fieldIndex.Payload.AsString(), payloadData);
}
public void LoadFromSaveData()
{
var sceneName = _sceneKeyProvider.Payload.AsString();
var id = SaveId + _fieldIndex.Payload.AsString();
string jsonPayload = SavegameService.GetSaveData(sceneName, id);
if (string.IsNullOrEmpty(jsonPayload))
return;
Dictionary<string, Variant> save = Json.ParseString(jsonPayload).AsGodotDictionary<string, Variant>();
Dictionary<string, Variant> save = SavegameService.GetSaveData(sceneName, id);
if (save.Count > 0)
{