using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using UnityEngine;
public class SaveNLoadManager : MonoBehaviour {
public PlayerData pData;
public MinerManager mManager;
public StoneBank sBank;
public void SaveData()
{
BinaryFormatter bf = new BinaryFormatter();
FileStream stream = new FileStream(Application.persistentDataPath + "/player.sav", FileMode.Create);
PlayerData data = new PlayerData();
data.stats[0] = sBank.stoneperclick;
data.stats[1] = sBank.stone;
data.stats[2] = mManager.level;
data.stats[3] = mManager.xp;
data.stats[4] = mManager.maxXp;
bf.Serialize(stream, data);
stream.Close();
}
public void LoadData(){
if(File.Exists(Application.persistentDataPath + "/player.sav"))
{
Stream stream = File.Open(Application.persistentDataPath + "/player" + ".sav", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
PlayerData data = (PlayerData)bf.Deserialize(stream);
stream.Close();
sBank.stoneperclick = data.stats[0];
sBank.stone = data.stats[1];
mManager.level = data.stats[2];
mManager.xp = data.stats[3];
mManager.maxXp = data.stats[4];
}
}
}
[Serializable]
public class PlayerData
{
public MinerManager mManager;
public StoneBank sBank;
public float[] stats;
public PlayerData()
{
stats = new float[5];
stats[0] = sBank.stoneperclick;
stats[1] = sBank.stone;
stats[2] = mManager.level;
stats[3] = mManager.xp;
stats[4] = mManager.maxXp;
}
}