Page 1 of 1

Save Conversation Fields?

Posted: Tue Aug 11, 2015 11:51 am
by alfonso
Hi Tony

I'm with de save / load of the game and i have a little question, in my test of saving the "Dialogue System Data" i have used

Code: Select all

GetComponent<PixelCrushers.DialogueSystem.GameSaver>().OnUse();
and call the "PlayerPrefs.SetString(key, PersistentDataManager.GetSaveData());" and if i see data in playersPrefs i dont see any information about Conversation, only this:

Code: Select all

Variable["Alert"]=""; 

Variable["Character"]="\"\""; 

Variable["SavedLevelName"]="TestingAlfonso"; 

Item["Quest_1"]={Status="", Name="Quest 1", Description="Quest1 Description", Is_Item=false, Success_Description="Quest1 Success Description", Failure_Description="Quest1 Failure Description", State="unassigned", Trackable=false, Abandonable=false, }; 

Actor["Player"]={Status="", Name="Player", Pictures="[]", Description="", IsPlayer=true, }; 

Actor["Detective"]={Status="", Name="Detective", Pictures="[]", Description="", IsPlayer=false, }; 

StatusTable = ""; 

RelationshipTable = ""; 
For example in each Conversation i have a field called "Count" to know how many times the player talks with the npc how has that conversation.

The question is:

This kind of stuff is managed by the GameSaver or by me? in the other hand, in the data i put before is necesary the information of the actors and quest? i mean, the state of the quest is important but the name, descreption, etc? this info comes in the database and for load the progression i dont see the importance of this stuff, same with the actors, but not sure if is here for something i dont see yet.

Thanks so much :)

Re: Save Conversation Fields?

Posted: Wed Aug 12, 2015 3:12 am
by alfonso
in the other hand, in the data i put before is necesary the information of the actors and quest? i mean, the state of the quest is important but the name, descreption, etc? this info comes in the database and for load the progression i dont see the importance of this stuff
sorry, it was my fault. I didn't see i had active the option to put all the information of the item :oops: but the actors is necesary to save for something special?

Re: Save Conversation Fields?

Posted: Wed Aug 12, 2015 9:19 am
by Tony Li
Hi Alfonso,

The Saved Game Data page lists what info is saved by default. To keep saved games small, the save system doesn't save all fields by default.

It saves all actor fields. When developers add custom fields to actors, it's usually important to save them.

For quests (which can contain a lot of text), it only saves the state and track info by default. As you already mentioned, if you tick the checkbox or set PersistentDataManager.includeAllItemData = true, it will save all quest/item fields.

For conversations, it only saves SimStatus (and only if PersistentDataManager.includeSimStatus is true).

To save additional data, you can write a persistent data component or a GetCustomSaveData delegate.