自定义模组游戏存档
当你想要在关卡或游戏会话之间保存状态时,你可以在你的蓝图模组中创建自己的游戏存档。
[!TIP] 存档文件存储在游戏目录的
Saved/SaveGames
文件夹中,该文件夹通常位于AppData
目录下。这个目录可以被游戏更改,因此存档将被放置在与游戏存档相同的位置。
创建存档游戏对象
首先,创建一个继承自SaveGame
类的新蓝图角色。
接下来,向蓝图添加你想要保存的变量。将变量设置为公共,以便在你的模组蓝图中访问它们。
回到我们的模组中,创建一个指向你刚刚创建的蓝图的对象引用变量。在本例中,我的蓝图名为SaveData
。
将数据保存到存档游戏对象
首先,你需要创建存档游戏对象引用并将其设置为对象引用变量。
[!TIP] 为了避免多次创建引用,你可以在
BeginPlay
事件上创建引用。
然后,你可以将存档游戏对象中的变量设置为你想要保存的变量。
最后,调用SaveGameToSlot
函数将数据保存到插槽中。插槽名称可以是任何你喜欢的名称,但为了保持游戏的存档文件夹有序,我建议使用类似Mods/[你的模组名称]/[你的存档名称]
的名称。
[!TIP] 创建一个名为
SaveName
的字符串变量并将其设置为插槽名称。这样,你可以在一个位置轻松更改插槽名称。
从存档游戏对象加载数据
首先,你需要检查存档游戏是否存在。如果存在,你可以从插槽加载游戏。然后我们需要将返回的值转换为我们的存档游戏对象。
你可以将存档游戏对象中的变量设置为你想要加载的变量。
组合起来
这里是一个保存和加载数据的简化示例。建议使用函数来保持代码的整洁和有条理。你可以在你的存档游戏蓝图中添加函数来处理这些,或者只在你的模组蓝图中完成。
这里是游戏文件夹中的结果存档文件。