首先,使用 Create Save Game Object 节点,基于SaveGame类创建对象。确保将 Save Game Class 输入引脚的下拉框设为创建的类,本例中为 MySaveGame。Create Save Game Object 节点将自动更改其输出引脚类型,以使指定类型与 Save Game Class 输入引脚匹配。利用此操作,可无需 Cast To 节点而直接进行使用。建议使用 提升为变量(Promote to Variable) 将结果对象保存至变量,以便之后重复使用刚创建的对象。
现在 保存游戏实例(Save Game Instance) 已包含自定义SaveGame对象,可向其发送信息。例如,可将 玩家名称(Player Name) 字段设为"PlayerOne"。继续设置SaveGame对象中的字段,直至包括要存储在保存游戏文件中的所有数据。
完全填充SaveGame对象后, 利用 ASync Save Game To Slot 节点完成保存游戏。还需提供文件名和用户ID。本例中的文件名和用户ID为之前创建的默认值。将从顶部引脚立即继续执行,savegame操作完成后将从第二引脚执行。执行第二引脚前输出引脚无效。
即便在保存大量数据时,Async Save Game To Slot 也能避免卡顿,因此推荐使用此方法保存数据。若savegame数据较小或在菜单或暂停画面中保存,则可使用 Save Game To Slot 节点保存游戏,如下所示。
要同步加载,使用 Load Game From Slot。该节点直接明了,提供的插槽命名和用户ID辨识出有效SaveGame文件,其将返回有效SaveGame对象。执行加载操作时,游戏将停止。
Async Load Game From Slot 的工作原理大致相同,但具有两个执行输出引脚。加载操作开始时将执行第一个引脚,加载操作完成时则执行第二个引脚。执行第二引脚前变量输出引脚无效。成功(Success) 引脚可表示加载操作是否成功,但也可将返回对象传递到 Is Valid 节点,或将来自 Cast To 节点的失败视为加载过程中出现的错误总计。