移动补丁工具节点
介绍不同类型的移动补丁工具蓝图节点。
使用 移动打包向导 为移动项目创建小型初始下载后,还需要以可下载数据块的方式将项目的剩余内容提供给用户。 全新的移动补丁工具蓝图库包含移动游戏从云端网站下载并安装游戏内容和补丁(而非从 App Store 上进行初始下载)的所有必备功能。 这些功能可确定是否有更新游戏内容、开始下载、跟踪进程、处理错误,并在最后安装成功下载的内容包。 此外还包含检查存储空间和 WiFi 连接的功能,以便在这些情况下提醒用户。 支持 Android 和 iOS。
为展示这些函数之间的上下文关系,此处展示设置范例。 如蓝图图表范例中的函数或事件未列于下表中,则需要为您自己的项目创建自定义节点。
使用待定内容

这是补丁流程的第一步。补丁开始时,需要使用 Request Content 节点从远程服务器请求内容(通过关卡加载或用户行为)。 在此例中,安装目录保存在一个变量中,但其也可作为函数输入进行传递。Content To Install 同样保存在一个变量中,以便之后使用。 内容请求完成后,将请求的成功或失败执行不同事件。自定义事件用作 Request Content 函数的输入。 此处显示的 Check Download Space 函数将调用一个自定义事[图片上传中...(Snipaste_2021-06-11_10-23-33.jpg-61f80a-1623378219916-0)]
件,开始补丁逻辑的下一套内容。


请求远程内容成功后,下一步是使用 Get Required Disk Space 节点确保有足够空间进行下载,并将结果与 Get Disk Free Space 的结果进行对比。 如所需的磁盘空间小于剩余磁盘空间,则调用自定义事件开始下载。


虽然此图表中有大量内容,但唯一的移动补丁工具函数是 Start Install,它将尝试下载并安装远程内容。和 Request Content 一样, Start Install 拥有成功和失败的事件参数。如安装成功,则使用 Mount Content 自定义事件触发补丁流程的最终部分。 此时将触发另一个带定时器的自定义事件 Mount Content。使用定时器和 Update Download State 函数,下载状态可以固定间隔向用户展示。此逻辑的更多内容在下一个蓝图图表中。


Display Download State 自定义事件连接到 Format Text 节点,用户可在补丁流程的这个阶段中在 UI(用户界面)上填入进度条, 或显示进度的其他方法。Get Download Size、Get Download Speed、Get Download Status Text、Get Install Progress 和 Get Total Downloaded Size 节点的输出在此组合为一个简单文本段,向用户呈现。此脚本随定时器以固定间隔调用,但并不回叫到任何其他范例图表。

使用安装内容

补丁流程的最后阶段是装入内容。我们使用的是第一个蓝图图表容纳的 Install Directory 变量,但这也可作为函数输入进行传递。 Get Installed Content 节点用于从目录中寻找内容,然后 Mount 函数将把内容装入游戏。与 Request Content 和 Start Install 不同的是,Mount 没有成功和失败的事件回调。

其他移动补丁函数
上方的图表是如何在移动设备上设置补丁的简单范例,但也能设置其他复杂行为。例如可设置游戏在无可用 WiFi 连接时提醒用户, 或为 iOS 和 Android 设备提供不同内容。针对这些以及其他使用情况,将以下函数添加到蓝图将有所帮助。

网友评论