Unity usa NewtonJson para almacenar datos y el sistema de mochila para almacenar datos (para ser actualizado)

fondo:

Cuando se usa JsonUtility de Unity, a menudo sucede que los objetos complejos no se pueden serializar, lo que da como resultado que los datos escritos estén vacíos, lo que no es particularmente fácil de usar. Después de consultar algunos blogs, NewtonJson y SimpleJson son mejores soluciones. Esta vez uso NewtonJson para almacenar y leer datos de la mochila Unity

importar NewtonJson

Dirección de descarga: Newtonsoft.Json-for-Unity

Simplemente haga clic en el enlace de descarga, si no puede abrir la página, necesita un perro (dogo)

 Abra el paquete descargado e impórtelo al proyecto requerido, solo importe todo:

Escritura de la prueba:

0. La función principal es

string json= JsonConvert.SerializeObject(variable);

Entre ellos, la variable es un objeto, y todas las variables están disponibles. JsonUtility no puede completar la serialización de objetos complejos. Se puede realizar con el método de NewtonJson, que es más conveniente.

1. Clase de ahorro de datos DataSaveManager

//挂载到游戏物体中进行测试
public  class DataSaveManager :MonoBehaviour
{
    public  ItemList itemList = new ItemList();

     //通过文件名称保存数据到json文件中,存储的路径为persistentDataPath
     public void Saver(string fileName)
    {

        string json= JsonConvert.SerializeObject(itemList);
        Debug.Log("内容"+json);
        string filepath = Application.persistentDataPath + "/"+ fileName+" .json";
        if(!File.Exists(filepath))
        {
            File.Create(filepath);
            Debug.Log(filepath);
        }

        using(StreamWriter sw = new StreamWriter(filepath))
        {
            sw.WriteLine(json);
            sw.Close();
            sw.Dispose();
        }
    }

    //添加物品的的函数
    public void Add()
    {
        ItemSelfs itemSelfs = new ItemSelfs();
        itemSelfs.itemID = "1111";
        itemSelfs.itemName = "22222222";
        itemSelfs.stackAble = true;
        itemList.items.Add(itemSelfs);
    }

}

2. Clase de artículo ItemSelfs

public class ItemSelfs
{
    public string itemName;
    public string itemID;
    public bool stackAble;
}

3. Simplemente use un botón para monitorear la función Agregar, y el contenido impreso es el siguiente

Teoría establecida, comienza la práctica

0. Prepare el marco de la interfaz de usuario con anticipación y constrúyalo con un UP: amigo yaa

1. El sistema de mochila esta vez incluye las siguientes partes (consideraremos acceder a servidores en red, bases de datos y terminales móviles en el futuro)

  • Clase principal de almacenamiento de datos de mochila: Inventario
  • Clase principal del panel de la mochila: ItemPanel
  • Interfaz de usuario y datos de la cuadrícula de la mochila: ItemSlot/ItemSelf
  • Clase de gestión de datos de artículos: ItemManager
  • Clase de ahorro de datos: DataSaveManager

 

Supongo que te gusta

Origin blog.csdn.net/SuShengQuanshiW/article/details/128764943
Recomendado
Clasificación