Почему JsonUtility.ToJson() выдаёт {}? C#, Unity.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
using System.Collections;
using System.IO;
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class JsonSaveSystem : MonoBehaviour
{
public List<GameObject> obj;
[SerializeField] private Inventory[] objs;
[SerializeField] private List<possave> pos;
private string path;
possave ps;
void Start()
{
while(obj.Count > pos.Count)
{
pos.Add(ps);
}
path = Path.Combine(Application.persistentDataPath, "data.json");
Load();
}
void Update()
{
if(obj.Count > pos.Count)
{
pos.Add(ps);
}
}
public void Load()
{
if(File.Exists(path))
{
pos = JsonUtility.FromJson<List<possave>>(File.ReadAllText(path));
for(int i = 0; i < objs.Length; i++)
{
for(int k = 0; k < obj.Count; k++)
{
if(objs[i].ID == pos[k].ID)
{
Destroy(obj[k]);
obj[k] = Instantiate(objs[i].obj, new Vector3(pos[k].x, pos[k].y, pos[k].z), Quaternion.identity);
}
}
}
}
else
{
File.Create(path);
}
}
public void Save()
{
for(int i = 0; i < obj.Count; i++)
{
pos[i].x = obj[i].transform.position.x; pos[i].y = obj[i].transform.position.y; pos[i].z = obj[i].transform.position.z;
pos[i].ID = obj[i].GetComponent<Takeobjectec>().obj.ID;
File.WriteAllText(path, JsonUtility.ToJson(pos));
Debug.Log(JsonUtility.ToJson(pos));
}
}
}
По дате
По рейтингу
12345
[Serializable]
public class SaveClass: List<possave> {}
...
private SaveClass pos;
class possave поддерживает сериализацию?
Больше по теме