Не сохраняется кол-во хп, хотя вроде по идее должно. Пишет ошибку, что мол ссылка на объект не указывает на экземпляр объекта, помогите пожалуйста, люди добрые!
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[System.Serializable]
public class SaveData
{
public Pers_control control;
public int ammo;
public int health;
public Vector3 pos;
}
public class SaveSystem : MonoBehaviour
{
public AK AK;
public Pers_control pers;
public int ammo;
public int health;
public Vector3 pos;
void Start()
{
Load();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.F6))
{
Save();
}
if (Input.GetKeyDown(KeyCode.F7))
{
Load();
}
}
public void Save()
{
SaveData save = new SaveData();
save.ammo = ammo;
save.health = health;
save.pos = transform.position;
save.control.health = pers.health;
string json = JsonUtility.ToJson(save);
System.IO.File.WriteAllText("save.dat", json);
}
public void Load()
{
string json = System.IO.File.ReadAllText("save.dat");
if (!string.IsNullOrEmpty(json))
{
var save = JsonUtility.FromJson<SaveData>(json);
ammo = save.ammo;
health = save.health;
transform.position = save.pos;
pers.health = save.control.health;
}
}
}