Hi,
You can save two kinds of state:
1. The values of the Dialogue System's variables, quest states, etc.
2. The state of the currently-active conversation (if one is active).
What do you want to save?
If you only want to save #1, remove all of the ***Saver component(s). Instead, use PersistentDataManager.GetSaveData() and ApplySaveData() to get the data as a string:
Code: Select all
playData.dialogueData = PersistentDataManager.GetSaveData();
and
Code: Select all
PersistentDataManager.ApplySaveData(playData.dialogueData);
If you also want to save #2, set up the Dialogue System's full save system by adding these components to the DialogueManager: Save System, Json Data Serializer, PlayerPrefs Saved Game Data Storer (required to avoid warning but won't be used), Dialogue System Saver, and Conversation State Saver. Then use PixelCrushers.SaveSystem.RecordSavedGameData() and ApplySavedGameData():
Code: Select all
playData.dialogueData = SaveSystem.Serialize(SaveSystem.RecordSavedGameData());
and
Code: Select all
SaveSystem.ApplySavedGameData(SaveSystem.Deserialize<SavedGameData>(playData.dialogueData));