I’ve tested on the editor and it works fine.But on Android doesnt work. Here’s the code.
using UnityEngine;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public class SaveData
{
public static int playerMoney;
public static int playerBankMoney;
public static int playerHealth;
public static int playerHunger;
}
public class SaveLoadSystem
{
public static void Save()
{
BinaryFormatter bf = new BinaryFormatter();
string path = Path.Combine(Application.persistentDataPath, "player.bin");
using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write))
{
bf.Serialize(fs, SaveData.playerMoney);
bf.Serialize(fs, SaveData.playerBankMoney);
bf.Serialize(fs, SaveData.playerHealth);
bf.Serialize(fs, SaveData.playerHunger);
fs.Close();
}
}
public static void Load()
{
if (!File.Exists("player.bin"))
return;
BinaryFormatter bf = new BinaryFormatter();
string path = Path.Combine(Application.persistentDataPath, "player.bin");
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read))
{
SaveData.playerMoney = (int)bf.Deserialize(fs);
SaveData.playerBankMoney = (int)bf.Deserialize(fs);
SaveData.playerHealth = (int)bf.Deserialize(fs);
SaveData.playerHunger = (int)bf.Deserialize(fs);
fs.Close();
}
}
}