PartyManager::GetRegions

获取一个数组,该数组包含为你的游戏配置的区域集以及往返行程延迟信息。

语法

PartyError GetRegions(  
    uint32_t* regionCount,  
    const PartyRegion** regions  
)  

参数

regionCount uint32_t*
输出

regions 中提供的区域输出数。

regions PartyRegion**
库分配的输出数组大小*regionCount

一个库分配的输出数组,其中包含区域组。

返回值

PartyError

如果调用成功,则为 c_partyErrorSuccess,否则为错误代码。 可通过 GetErrorMessage() 检索错误代码的可读形式。

备注

在提供第一部分 PartyRegionsChangedStateChange 之前,不会填充此方法提供的数组。 随后的每个 PartyRegionsChangedStateChange 都指示对此组区域的更新。 当调用 Initialize() 时,将开始填充此集的后台操作,除非使用 PartyOption::RegionUpdateConfiguration 选项来配置 PartyRegionUpdateMode::Deferred 的更新模式。 延迟模式意味着区域检索和连接质量测量直到应用程序调用 CreateNewNetwork() 并传入一个零长度的区域数组,或者未连接到任何网络且调用 PartyLocalChatControl::PopulateAvailableTextToSpeechProfiles()PartyLocalChatControl::SetTextToSpeechProfile()PartyLocalChatControl::SetTranscriptionOptions() 时使用包含 PartyVoiceChatTranscriptionOptions::TranscribeSelfRegardlessOfNetworkState 选项标志。 PartyOption::RegionUpdateConfiguration 选项还可用于配置区域数组刷新的间隔。

返回的数组按延迟增加的顺序排序。 区域延迟定义为将 UDP 数据报发送到该区域的 PlayFab 服务质量信标并接收响应所需的端到端时间。 该库将多次测量每个区域的延迟,以便计算出高保真度结果。 应用程序可以使用 PartyOption::RegionQualityMeasurementConfiguration 选项更改此连接质量测量过程的低级别方面。

等效于 UINT32_MAX 的延迟表示该区域受支持,但无法确定延迟信息,这可能是由于库内部出现故障,或者在没有收到信标响应的情况下达到了超时。 这可以用于诊断目的(每个区域的 UINT32_MAX 延迟可能表明存在本地配置问题),也可以用于筛选在区域选择期间不太可行的区域。

PartyRegion 结构中返回的名称未本地化为当前用户的语言,并且不建议在排除故障之外直接在 UI 中显示字符串。

不应假设返回的区域集在游戏的整个生命周期内保持不变。 PlayFab Party 库将自动利用对可用区域的添加和更改,以不断改善最终用户体验。

要求

标题: Party.h

另请参阅

PartyManager
PartyRegionsChangedStateChange
PartyManager::CreateNewNetwork