XblMultiplayerSessionMember
表示对多人游戏会话中成员的只读引用。
语法
typedef struct XblMultiplayerSessionMember {
uint32_t MemberId;
const char* TeamId;
const char* InitialTeam;
XblTournamentArbitrationStatus ArbitrationStatus;
uint64_t Xuid;
const char* CustomConstantsJson;
const char* SecureDeviceBaseAddress64;
const XblMultiplayerSessionMemberRole* Roles;
size_t RolesCount;
const char* CustomPropertiesJson;
char Gamertag[XBL_GAMERTAG_CHAR_SIZE];
XblMultiplayerSessionMemberStatus Status;
bool IsTurnAvailable;
bool IsCurrentUser;
bool InitializeRequested;
const char* MatchmakingResultServerMeasurementsJson;
const char* ServerMeasurementsJson;
const uint32_t* MembersInGroupIds;
size_t MembersInGroupCount;
const char* QosMeasurementsJson;
XblDeviceToken DeviceToken;
XblNetworkAddressTranslationSetting Nat;
uint32_t ActiveTitleId;
uint32_t InitializationEpisode;
time_t JoinTime;
XblMultiplayerMeasurementFailure InitializationFailureCause;
const char** Groups;
size_t GroupsCount;
const char** Encounters;
size_t EncountersCount;
XblMultiplayerSessionReference TournamentTeamSessionReference;
void* Internal;
} XblMultiplayerSessionMember
成员
MemberId
类型:uint32_t
此成员的 ID。 在此成员所属的会话的上下文中是唯一的。
TeamId
类型:const char*
此成员团队在锦标赛中的 ID。 已弃用。 将来的版本会取消此限制。
InitialTeam
类型:const char*
来自 SmartMatch 的初始团队分配。
ArbitrationStatus
类型:XblTournamentArbitrationStatus
比赛中成员的仲裁状态。 已弃用。 将来的版本会取消此限制。
Xuid
类型:uint64_t
该成员的 Xbox 用户 ID。 仅当成员已接受时才知道。
CustomConstantsJson
类型:const char*
用于指定成员的自定义常量的 JSON 字符串。
SecureDeviceBaseAddress64
类型:const char*
成员的 base64 编码安全设备地址。 (可选)
Roles
类型:const XblMultiplayerSessionMemberRole*
此成员的角色数组。 (可选)
RolesCount
类型:size_t
角色数组中的条目数量。
CustomPropertiesJson
类型:const char*
用于指定成员的自定义属性的 JSON 字符串。
Gamertag
类型:char[XBL_GAMERTAG_CHAR_SIZE]
该成员的玩家代号。 (可选)仅当成员已接受时才知道。
Status
类型:XblMultiplayerSessionMemberStatus
此成员的状态。
IsTurnAvailable
类型:bool
仅当此成员准备好转变时才为 true。
IsCurrentUser
类型:bool
指示此 MultiplayerSessionMember 是否针对当前用户。
InitializeRequested
类型:bool
指示为此用户运行 QoS 初始化。 默认为 false。 如果会话没有“memberInitialization”部分,则忽略。
MatchmakingResultServerMeasurementsJson
类型:const char*
当匹配将用户添加到会话时,它可以提供关于它们如何以及为何匹配到会话中的一些上下文。 这是匹配会话中的用户的 serverMeasurements 的副本。
ServerMeasurementsJson
类型:const char*
按游戏服务器连接字符串划分的 QoS 测量。 与所有字段一样,“serverMeasurements”必须作为一个整体更新,因此在测量完成时应设置一次。 如果为空,则表示在“serverMeasurementTimeout”内没有完成任何测量。
MembersInGroupIds
类型:const uint32_t*
我群组中成员 ID 的集合。 如果设置了“initializationGroup”列表,则将一直添加成员自己的索引(如果尚未提供)。 在托管初始化过程中,如果列表中的任何成员失败,此成员也将失败。
MembersInGroupCount
类型:size_t
MembersInGroupIds 数组中的条目数量。
QosMeasurementsJson
类型:const char*
按安全设备地址划分的 QoS 测量。 与所有字段一样,“测量”必须作为一个整体更新。 在测量完成时应设置一次,而不是每次递增时设置。 如果设置了“测量”对象,则它不能包含成员自己地址的条目。
DeviceToken
类型:XblDeviceToken
当成员上传安全设备地址时设置此项。 它是可用于相等比较的不区分大小写的字符串。
Nat
类型:XblNetworkAddressTranslationSetting
当成员上传安全设备地址时这是设备的 NAT 设置。
ActiveTitleId
类型:uint32_t
如果该成员处于活动状态,则这是它们在其中处于活动状态的游戏 ID。
InitializationEpisode
类型:uint32_t
只有当游戏手动管理自己的 QoS 时,此值才用于读取。 如果设置了“memberInitialization”部分,并添加了其中 "initialize":true 的成员,此操作会设置为成员将参与其中的初始化剧集,否则它将为 0。 用户批量加入会话。 初始化剧集编号指示需要对其执行 QoS 的一组用户。 初始化剧集 1 是用于在创建时间向新会话添加的成员的特殊值。
JoinTime
类型:time_t
用户加入会话的时间。 如果“保留”为 true,则表示执行预订的时间。
InitializationFailureCause
类型:XblMultiplayerMeasurementFailure
初始化失败的原因,或者如果没有失败,则为 XblMultiplayerMeasurementFailure::None。 如果此成员未通过,则在从“加入”或“测量”阶段过渡到其他阶段时进行设置。
Groups
类型:const char**
当前用户的组名数组,指示用户在多人游戏会话期间属于哪些组。
GroupsCount
类型:size_t
组数组中的项目数量。
Encounters
类型:const char**
获取当前用户的组名列表,该列表指示用户在多人游戏会话期间遇到了哪些组。
EncountersCount
类型:size_t
组数组中的项目数量。
TournamentTeamSessionReference
类型:XblMultiplayerSessionReference
锦标赛团队会话引用。 已弃用。 将来的版本会取消此限制。
Internal
类型:void*
仅供内部使用。
要求
头文件:multiplayer_c.h