I’ve some problem with save Item from List<>.
So I’ve 3 script: Item script, Save script and PlayerData script.
Not for List I’ve not problem, but I don’t understand how to make it to List or serializable class.
public class ItemActivatedController : MonoBehaviour
{
[System.Serializable]
public class Items
{
public string name;
public GameObject item;
public bool active;
}
public List<Items> ItemTable = new List<Items>();
//some conditions
public static class SaveSystem
{
public static void SavePlayer(GameScript gameScript,PopUpShopScene popupScript)
{
BinaryFormatter formatter = new BinaryFormatter();
string path = Application.persistentDataPath + "/player.data";
FileStream stream = new FileStream(path, FileMode.Create);
PlayerData data = new PlayerData (gameScript, popupScript);
formatter.Serialize(stream, data);
stream.Close();
}
public static PlayerData LoadPlayer()
{
string path = Application.persistentDataPath + "/player.data";
if (File.Exists(path))
{
BinaryFormatter formatter = new BinaryFormatter();
FileStream stream = new FileStream(path, FileMode.Open);
PlayerData data = formatter.Deserialize(stream) as PlayerData;
stream.Close();
return data;
}
else
{
Debug.LogError("Save file not found in " + path);
return null;
}
}
[System.Serializable]
public class PlayerData
{
public double CoinsV;
public double CrystalV;
public DateTime TommorowDateV;
public double UsedStepsV;
public double NewStepsV;
public PlayerData(GameScript gameScript, PopUpShopScene popupScript)
{
CoinsV = GameScript.Coins;
TommorowDateV = GameScript.TomorrowDate;
UsedStepsV = GameScript.UsedSteps;
NewStepsV = GameScript.NewStepsValue;
CrystalV = GameScript.Crystal;
Debug.Log(CrystalV);
}
}
How to save all Item params from List ItemTable to my PlayerData script?