Top.Mail.Ru
Ответы

Почему 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 поддерживает сериализацию?