如何在Unity3D中保存自定义变量? - c#

我正在为Unity3D中的游戏开发一个保存和加载系统。位置之类的基础很简单,我只有

 public void Save() {

     PlayerPrefs.SetFloat ("X", transform.position.x);
     PlayerPrefs.SetFloat ("Y", transform.position.y);
     PlayerPrefs.SetFloat ("Z", transform.position.z);

 }

 public void Load() {

     float x = PlayerPrefs.GetFloat ("X");
     float y = PlayerPrefs.GetFloat ("Y");
     float z = PlayerPrefs.GetFloat ("Z");

     transform.position = new Vector3 (x, y, z);

 }

但是接下来,当我要保存自定义变量时,就出现了。
这是包含它们的类的样子:

     [SerializeField] private Stat health; 
     public static Stat Health { get; set; }
     [SerializeField] private Stat exp;
     public static Stat Exp { get; set; }
     [SerializeField] private Stat oxygen;
     public static Stat Oxygen { get; set; }
     [SerializeField] private Stat playerLevel;
     public static Stat PlayerLevel { get; set; }

所以我的问题是,如何在SaveLoad脚本中获取这些统计信息的值?

参考方案

只是为了回家

1)在Unity中

完全不用序列化。就这么简单。

我什至不愿意讨论原因。就是这样!

2)通常这些天在游戏/手机中,您应该

使用JSON

故事结局。幸运的是,这非常容易。

3)要转换回JSON,

确实执行@Programmer所说的。

https://stackoverflow.com/a/40097623/294884

4)最后,为了保存这一点,老实说,这没有什么错:

只需使用PlayerPrefs保存长JSON字符串。别担心。

请注意,如果您确实想将其另存为文本文件,这很好,那么将其另存为文本文件非常容易:

只需执行以下操作:https://stackoverflow.com/a/35941579/294884

(注意:出于任何原因,切勿在Unity中使用“ streamwriter”。保存/读取文本文件非常简单。)

重复。 >> >>不<<在Unity中触摸,思考或使用“序列化”!出于任何原因,永远!

享受生活!

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

Json到php,json_decode返回NULL - php

我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…

您如何在列表内部调用一个字符串位置? - python

我一直在做迷宫游戏。我首先决定制作一个迷你教程。游戏开发才刚刚开始,现在我正在尝试使其向上发展。我正在尝试更改PlayerAre变量,但是它不起作用。我试过放在列表内和列表外。maze = ["o","*","*","*","*","*",…