在线子系统类型

概述

本文被用来对整个在线子系统用到的不同数据结构进行定义。

IOnlinePlatformData

任何基类都为不透明,这样数据就可以被传递而不必考虑其中包含的数据。 数据中操作人员可阅读的版本是通过 ToString() 函数来访问的,否则,数据只能直接采用平台源代码来操作。

经常有不同构造的平台特定表示,尽管它们需要游戏来处理,但并不需要显示其细节。这使得游戏可以紧扣数据并将其复制到其他电脑而不必理解其细节。

来自 IOnlinePlatformData 的类:

函数

/** 
 * 获取此不透明数据的初始字节表示
 * 此数据依赖于平台并且不应进行直接操作
 * @return GetSize()的字节数组
 */
virtual const uint8* GetBytes() const = 0;

/** 
 * 获取不透明数据的大小
 * @return 用字节表示的数据大小
 */
virtual int32 GetSize() const = 0;

/** 
 * 检查不透明数据的有效性
 * @return 如果数据组成良好,返回true,否则返回false
 */
virtual bool IsValid() const = 0;

/** 
 * 获取不透明数据的可读表示
 * 不应用于除记录/调试外的任意对象
 * @return 以字符串形式返回数据 
 */
virtual FString ToString() const = 0;

FUniqueNetId

包含用户配置文件服务在线ID并可从单人,朋友或会话处任意代表内容。

请参照:

FSharedContentHandle

包含用户配置文件服务共享的文件句柄。 这个句柄可以被传送并在有合适权限的条件下,用来访问任意位置的共享内容。

See:

FSessionInfo

包含会话的平台特定信息。 大多数情况下这些信息为会话标识符,主机地址,或其它辨认和连接已创建对话的方法。

请参照:

FEmsFile

给定下载文件的元数据。 此结构被用于从给定服务中枚举可用数据。

包含以下元素:

  • Hash -给定文件内容的hash值。

  • 文件名- 文件名同已下载的相同。

  • 逻辑名称- 映射到已下载文件名的名称。

  • 文件尺寸-文件的尺寸。

请参照:

FTitleFile

  • 从在线服务异步下载的存储数据的内部结构。*

包含以下元素:

  • 文件名- 文件名同已下载的相同。

  • 异步状态-已下载文件的状态。(参见:异步状态 )

  • 数据- 包含文件内容的缓冲器。

请参照:

EOnlineAsyncTaskState

简单的枚举展示了异步动作的可能状态。

    /** 任务尚未开始 */
    NotStarted,
    /** 任务正在处理 */
    InProgress,
    /** 任务成功完成 */
    Done,
    /** 任务完成失败 */
    Failed