开始之前
玩家数据存储示例 使用 Epic账号服务 验证本地用户。这需要先将用于初始化 Epic在线服务 (EOS)SDK的客户端凭证指定给使用Epic账号服务的 应用。
此示例中演示的SDK功能可以和任何受支持的身份提供商配合使用,以用于用户验证。
了解范例
玩家数据存储范例 是一个简单的文件资源管理器,用于用户帐户相关的云存储。可登录或登出帐户。登录时,可使用帐户相关文件浏览,可上传、下载、复制或删除此类文件。
玩家数据面板
要开始使用玩家数据存储范例,找到用户界面右侧的 玩家数据(Player Data) 面板,(从开发者身份验证工具)输入主机地址和用户凭证并按 登录(Log In) 按钮。
登录后,玩家数据面板会显示与用户帐户相关的文件列表(如有)。登录按钮将变更为登出,面板顶部的按钮将激活。以下功能可用:
- 保存(Save):将当前正在编辑的文件内容上传至云端。若关闭程序时有未保存的更改,则这些更改将丢失。
- 下载(Download):将选定的文件下载至本地高速缓存,并在文本编辑器中打开。此操作将丢弃所有未保存的更改。
- 复制(Duplicate):复制选定文件。副本以与原文件相同的名称显示在文件列表下,但末尾会添加“_Copy”。
- 删除(Delete):从云端删除选定文件。
- 刷新(Refresh):刷新文件列表,但不下载文件。
控制台面板
程序操作的日志输出,包括控制台命令的结果,将显示在用户界面左下角 控制台(Console) 面板顶部的文本区域内。除了点击玩家数据面板中的按钮,还可在控制台面板底部输入控制台命令。
支持以下命令:
命令 | 参数 | 行为 |
---|---|---|
ADDFILE | FILE_NAME 、FILE_DATA_PATH (可选) | 创建并上传名为 FILE_NAME 的空文件,或从本地磁盘上传文件(若指定 FILE_DATA_PATH ) |
GETFILE | FILE_NAME | 从云端下载指定文件 |
DUPFILE | SOURCE_FILE_NAME 、DESTINATION_FILE_NAME | 将 SOURCE_FILE_NAME 复制到名为 DESTINATION_FILE_NAME 的新文件中 |
TESTFILE | FILE_NAME 、FILE_PATH | 从 玩家数据存储接口 获取 FILE_NAME ,并将内容与 FILE_PATH 下的本地未加密文件进行对比 |
HELP | (无) | 将所有上述命令的帮助信息打印至控制台输出。 |
你可以在 Game.cpp
中 Game::CreateConsoleCommands
函数中添加自定义控制台命令。
文件面板
文件(File) 面板显示当前选定文件的内容(在玩家数据面板内)。可在此窗口内编辑文件内容,然后在玩家数据面板或控制台面板中保存并上传文件。
进度条窗口
玩家数据存储范例执行的文件传输操作是异步操作。执行此类操作时,范例将显示 进度条(Progress Bar) 窗口,内含进度条和 取消(Cancel) 按钮。用户可点击 取消(Cancel) 中断传输。尽管玩家数据存储界面可同时支持多个传输操作,但范例一次仅能运行一个文件传输操作。
了解源代码
与数据文件交互的大部分代码都在 Samples/PlayerDataStorage/Source/PlayerDataStorage.cpp
中。以下函数直接与玩家数据存储接口交互:
函数名 | 行为 |
---|---|
QueryList | 刷新玩家数据条目列表。 |
StartFileDataDownload | 获取特定文件的内容。 |
StartFileDataUpload | 将特定文件的内容传输到云端。 |
AddFile | 上传新文件,或覆盖现有文件。 |
CopyFile | 复制文件。 |
RemoveFile | 删除文件并清除相关的本地缓存数据。 |
CancelCurrentTransfer | 取消当前文件传输(如有)。 |
这些函数不直接使用玩家数据存储接口,但与本地系统上的相关数据交互。构建自己的系统来管理文件的本地缓存信息时,这些函数可作为基础指南:
函数名 | 行为 |
---|---|
GetFileList | 返回本地文件列表。 |
SetFileList | 设置本地文件列表。 |
GetLocalData | 返回指定文件的本地缓存数据。若无可用本地数据,NoData 标记设为 true 。 |
SetLocalData | 设置指定文件的本地数据。 |
EraseLocalData | 擦除指定文件的本地数据(如有)。 |