|
|
@@ -36,6 +36,9 @@ public class GameManager : MonoBehaviour
|
|
|
[Header("Procedural")]
|
|
|
public int worldSeed;
|
|
|
|
|
|
+ [HideInInspector] public SaveData inMemorySave = null;
|
|
|
+ public bool HasInMemorySave => inMemorySave != null;
|
|
|
+
|
|
|
|
|
|
void Awake()
|
|
|
{
|
|
|
@@ -215,7 +218,11 @@ public class GameManager : MonoBehaviour
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ public void SaveInMemory()
|
|
|
+ {
|
|
|
+ inMemorySave = CreateSaveData();
|
|
|
+ Debug.Log("Game saved in memory!");
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
@@ -227,6 +234,19 @@ public class GameManager : MonoBehaviour
|
|
|
StartCoroutine(LoadGameNextFrame(data));
|
|
|
}
|
|
|
|
|
|
+ public void LoadFromMemory()
|
|
|
+ {
|
|
|
+ if (inMemorySave != null)
|
|
|
+ {
|
|
|
+ StartCoroutine(LoadGameNextFrame(inMemorySave));
|
|
|
+ Debug.Log("Loaded game from memory!");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Debug.LogWarning("No in-memory save found!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public IEnumerator LoadGameNextFrame(SaveData data)
|
|
|
{
|
|
|
yield return new WaitForEndOfFrame(); // wait for scene & map to generate
|