Change request for SaveSystem
Posted: Fri Jan 11, 2019 3:07 am
Hi Tony,
My problem is the "Save Current Scene" flag on the SaveSystem does some stuff I need but other stuff I don't really like. The needed stuff is that it stores the loaded save data into memory via this line:
As you can see in LoadGame, the "else" condition doesn't do that:
All it does is apply the loaded data to the currently open scenes, which in effect discards all the other loaded data. I don't see how this could ever be useful for anyone not using the flag.
My reasons for not using the flag are that I need a little bit more power than just loading the saved single active scene. I have many scenes and a whole manager for them going on, and using this flag would kind of get in the way of all that.
Therefore, I request that you make the LoadGame method to be this:
Adding that one line of code causes it to store all the data from the save, when not using "Save Current Scene", just as it does when using it. Please consider adding this (or something similar). Thanks!
My problem is the "Save Current Scene" flag on the SaveSystem does some stuff I need but other stuff I don't really like. The needed stuff is that it stores the loaded save data into memory via this line:
Code: Select all
m_savedGameData = savedGameData;
Code: Select all
public static void LoadGame(SavedGameData savedGameData)
{
if (saveCurrentScene)
{
instance.StartCoroutine(LoadSceneCoroutine(savedGameData, null));
}
else
{
ApplySavedGameData(savedGameData);
}
}
My reasons for not using the flag are that I need a little bit more power than just loading the saved single active scene. I have many scenes and a whole manager for them going on, and using this flag would kind of get in the way of all that.
Therefore, I request that you make the LoadGame method to be this:
Code: Select all
public static void LoadGame(SavedGameData savedGameData)
{
if (saveCurrentScene)
{
instance.StartCoroutine(LoadSceneCoroutine(savedGameData, null));
}
else
{
m_savedGameData = savedGameData;
ApplySavedGameData(savedGameData);
}
}