語法
參數
stateChangeCount uint32_t*輸出
stateChanges 陣列中供遊戲處理的 PartyStateChange 項目輸出數目。
stateChanges PartyStateChangeArray*程式庫配置的輸出陣列,大小為
*stateChangeCount
程式庫配置的輸出陣列,包含所有 PartyStateChange 項目,供遊戲處理後傳遞給 FinishProcessingStateChanges()。
傳回值
PartyErrorc_partyErrorSuccess (如果呼叫成功),否則為錯誤碼。可透過 GetErrorMessage() 擷取錯誤碼的人類可讀形式。
備註
此方法讓 Party 程式庫有機會與遠端裝置或服務同步狀態,並擷取自上次呼叫此方法以來遊戲目前可用之所有變更的清單。遊戲應使用提供的 0 個或多個變更陣列來更新自己的狀態或 UI,然後及時以這些變更呼叫 FinishProcessingStateChanges()。程式庫公開的 Party 程式庫狀態可能會在此呼叫期間變更,因此您使用時必須確保執行緒安全。例如,在 UI 執行緒上叫用 StartProcessingStateChanges() 的同時,若有另一個背景工作執行緒正在逐一查看 PartyNetwork::GetEndpoints() 傳回的端點清單,可能會導致當機,因為 StartProcessingStateChanges() 可能會變更與端點清單相關聯的記憶體。應該經常呼叫 StartProcessingStateChanges(),至少每個圖形畫面一次。它的設計是能快速執行並返回,因此可以在主要 UI 執行緒上呼叫,且影響微乎其微。為了獲得最佳結果,您也應該盡量縮短呼叫 FinishProcessingStateChanges() 之前處理狀態變更所花費的時間。
StartProcessingStateChanges() 傳回的每個狀態變更都必須恰好傳回給 FinishProcessingStateChanges() 一次,但可以不依順序傳回,也可以與其他 StartProcessingStateChanges() 呼叫的狀態變更交錯。與特定狀態變更相關聯的任何資源,保證在狀態變更傳回給 FinishProcessingStateChanges() 之前保持有效。
需求
標頭: Party.h另請參閱
PartyManagerPartyStateChange
PartyManager::FinishProcessingStateChanges
