ToJson не работает
Делаю систему сохранений, но она не работает (просто возвращает пустой список).
using System.Collections.Generic;
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
using UnityEngine;
[Serializable]
public class RawSaveData
{
public string data;
public static explicit operator int[](RawSaveData saveData) //переводим из списка в RawSaveData
{
string data = saveData.data;
int[] vs = JsonUtility.FromJson<int[]>(data) ?? new int[0];
return vs;
}
public override string ToString()
{
return data;
}
public static explicit operator RawSaveData(int[] ints)//переводим из RawSaveData в список
{
RawSaveData saveData = new RawSaveData();
saveData.data = JsonUtility.ToJson(ints);
return saveData;
}
}
public class SaveManager : MonoBehaviour
{
public static void Save(string fileName, RawSaveData data)
{
BinaryFormatter bf = new BinaryFormatter();
FileStream file = File.Create(Application.persistentDataPath
+ "/" + fileName + ".dat");
bf.Serialize(file, data);
file.Close();
}
public static RawSaveData Load(string fileName)
{
if (File.Exists(Application.persistentDataPath + "/" + fileName + ".dat"))
{
BinaryFormatter bf = new BinaryFormatter();
FileStream file =
File.Open(Application.persistentDataPath + "/" + fileName + ".dat", FileMode.Open);
RawSaveData data;
try
{
data = (RawSaveData)bf.Deserialize(file);
print(data.ToString());
file.Close();
}
catch
{
print("ошибка");
file.Close();
return new RawSaveData();
}
return data;
}
else return new RawSaveData();
}
}
Сделал в первый раз отладку, и понял что не работает конкретно перевод из списка в класс RawSaveData (функция ToJson возвращает {}). Подскажите что можно сделать и есть ли способы делать JSON из списков в Unity?