I have also script GameSave with the following script:
using System.Collections.Generic;
[System.Serializable]
public class GameSave
{
//string key = GUID gameobject ID
public Dictionary<string, GameObjectSave> gameObjectData;
public GameSave()
{
gameObjectData = new Dictionary<string, GameObjectSave>();
}
}
And ISaveable with the following script:
public interface ISaveable
{
string ISaveableUniqueID { get; set; }
GameObjectSave GameObjectSave { get; set; }
void ISaveableRegister();
void ISaveableDeregister();
GameObjectSave ISaveableSave();
void ISaveableLoad(GameSave gameSave);
void ISaveableStoreScene(string sceneName);
void ISaveableRestoreScene(string sceneName);
}
```

