[Unity3dPlayer][/Unity3dPlayer]впервые на форуме.Залез в настройку сохранения в игре(новая для меня тема)=> и выдает ошибку
//skript
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Collections.Generic;
using System;
public class Probba : MonoBehaviour {
public GameObject player;
[System.Serializable]
public class healthBar
{
public float healtPl;
}
[System.Serializable]
public class Rotation
{
public float x1;
public float y1;
public float z1;
}
[System.Serializable]
public class Position
{
public float x;
public float y;
}
public void Save()
{
healthBar hel = new healthBar();
hel.healtPl = player.GetComponent<Health>().heal;
Position pos = new Position();
pos.x =player.transform.position.x;
pos.y =player.transform.position.y;
Rotation rot = new Rotation();
rot.x1 = player.transform.rotation.x;
rot.y1 = player.transform.rotation.y;
rot.z1 = player.transform.rotation.z;
if (!Directory.Exists(Application.dataPath + "/saves"))
Directory.CreateDirectory(Application.dataPath + "/saves");
FileStream fs = new FileStream(Application.dataPath + "/saves/save.sv", FileMode.Create);
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs,pos);
bf.Serialize(fs,rot);
bf.Serialize(fs,hel);
}
public void Load(){
if (File.Exists(Application.dataPath + "/saves/save.sv"))
{
FileStream fs = new FileStream(Application.dataPath + "/saves/save.sv", FileMode.Open);
BinaryFormatter bf = new BinaryFormatter();
try
{
Rotation rot = (Rotation)bf.Deserialize(fs);
player.transform.rotation = new Quaternion(rot.x1, rot.y1,rot.z1,0);
Position pos = (Position)bf.Deserialize(fs);
player.transform.position = new Vector2 (pos.x, pos.y);
healthBar hel = (healthBar)bf.Deserialize(fs);
player.GetComponent<Health>().heal.CompareTo(hel);
}
catch (System.Exception e)
{
Debug.Log(e.Message);
}
finally
{
fs.Close();
}
}
else
{
Application.Quit();
}
}
}