在 Unity 中保存游戏状态背后的逻辑:应用中的每个类都必须具有加载/保存功能



我从保存状态开始;而且我很快就摆脱了playerprefs,现在我每个会话都有一致的类和数据量。

我无法理解的是 Unity 中保存工作的基本概念:是否有某种机制可以执行可执行文件和类/对象/变量的快照,并允许您还原它,就像您使用操作系统备份一样,或者它基于以某种自定义文件格式编写每个参数和对象, 然后稍后恢复它,重新创建所有对象并传递这些保存的参数,以便您可以覆盖默认值?

我在问,因为我不确定在第二种情况下(保存所有参数)是否必须将我的类设计为"允许"保存。

就我而言,我几乎没有经理,一个玩家,几个AI实体和大量的NPC,最重要的是基于其他基于AI的团队的买卖活动的经济模拟,与各种玩家的市场有关。在这种情况下,我可能可以很容易地为每个实体实际保存多少参数。

您能否指出正确的方向,这样我就可以理解我是否需要潜入我的类并更改每个类以包含其中每个参数的某种"检索和替换"; 或不。

也许您正在寻找序列化并将数据保存在文件中,并在恢复会话时从文件加载数据。看看这个例子。请注意,在示例中,该人确实保存了可能包含各种类的 Game 类,因此不必担心每个类,如 character

还有几个例子:

持久性 - 保存和加载数据

统一保存游戏/关卡序列化

希望对您有所帮助!

最新更新