gpg:: TurnBasedMultiplayerManager
#include <turn_based_multiplayer_manager.h>
擷取、修改及建立 TurnBasedMatch
物件。
摘要
公開類型 |
|
---|---|
MatchInboxUICallback
|
typedefstd::function< void(const MatchInboxUIResponse &)>
定義可接收來自 ShowMatchInboxUI 的 MatchInboxUIResponse 的回呼。 |
MultiplayerStatusCallback
|
typedefstd::function< void(MultiplayerStatus)>
定義可用來接收 MultiplayerStatus 的回呼。 |
PlayerSelectUICallback
|
typedefstd::function< void(const PlayerSelectUIResponse &)>
定義可接收來自 ShowPlayerSelectUI 的 PlayerSelectUIResponse 的回呼。 |
TurnBasedMatchCallback
|
typedefstd::function< void(const TurnBasedMatchResponse &)>
定義可用來從其中一項回合製多人遊戲作業接收 TurnBasedMatchResponse 的回呼。 |
TurnBasedMatchesCallback
|
typedefstd::function< void(const TurnBasedMatchesResponse &)>
定義可接收其中一個回合製多人遊戲作業的 TurnBasedMatchesResponse 的回呼。 |
公開的靜態屬性 |
|
---|---|
kAutomatchingParticipant
|
const MultiplayerParticipant
可傳遞到使用「下一個」選項的方法
。
|
Structs |
|
---|---|
gpg:: |
|
gpg:: |
|
gpg:: |
特定 |
gpg:: |
以 |
公開類型
MatchInboxUICallback
std::function< void(const MatchInboxUIResponse &)> MatchInboxUICallback
定義可接收來自 ShowMatchInboxUI
的 MatchInboxUIResponse
的回呼。
MultiplayerStatusCallback
std::function< void(MultiplayerStatus)> MultiplayerStatusCallback
定義可用來接收 MultiplayerStatus 的回呼。
由 StayMatch 和取消 Match 函式使用。
PlayerSelectUICallback
std::function< void(const PlayerSelectUIResponse &)> PlayerSelectUICallback
定義可接收來自 ShowPlayerSelectUI
的 PlayerSelectUIResponse
的回呼。
TurnBasedMatchCallback
std::function< void(const TurnBasedMatchResponse &)> TurnBasedMatchCallback
定義可用來從其中一項回合製多人遊戲作業接收 TurnBasedMatchResponse
的回呼。
TurnBasedMatchesCallback
std::function< void(const TurnBasedMatchesResponse &)> TurnBasedMatchesCallback
定義可接收其中一個回合製多人遊戲作業的 TurnBasedMatchesResponse
的回呼。
公開的靜態屬性
kAutomatchingParticipant
const MultiplayerParticipant kAutomatchingParticipant
可傳遞到使用「下一個」選項的方法 。
這會導致方法透過自動配對選取下一位參與者。只有在相關相符項目的 TurnBasedMatch::AutomatchingSlotsAvailable 大於 0 時,才能將 kAutomatching 參與者傳遞至函式。
公開函式
AcceptInvitation
void AcceptInvitation( const MultiplayerInvitation & invitation, TurnBasedMatchCallback callback )
以非同步方式接受 MultiplayerInvitation
,並透過 TurnBasedMatchCallback
傳回結果。
如果作業成功,透過回呼傳回的 TurnBasedMatch
會處於 TurnBasedMatchState::MY_TURN
狀態。
AcceptInvitationBlocking
TurnBasedMatchResponse AcceptInvitationBlocking( Timeout timeout, const MultiplayerInvitation & invitation )
封鎖 AcceptInvitation 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
AcceptInvitationBlocking
TurnBasedMatchResponse AcceptInvitationBlocking( const MultiplayerInvitation & invitation )
超載 AcceptInvitationBlocking,使用 10 年的預設逾時。
CancelMatch
void CancelMatch( const TurnBasedMatch & match, MultiplayerStatusCallback callback )
以非同步方式取消比對。
透過 MultiplayerStatusCallback
傳回的狀態會指出作業是否成功。比對狀態必須是 INVITED、 THEIR_TURN 或 MY_TURN,才能使用這個函式。
CancelMatchBlocking
MultiplayerStatus CancelMatchBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 CancelMatch 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
CancelMatchBlocking
MultiplayerStatus CancelMatchBlocking( const TurnBasedMatch & match )
CancelMatch 超載使用 10 年的預設逾時時間。
ConfirmPendingCompletion
void ConfirmPendingCompletion( const TurnBasedMatch & match, TurnBasedMatchCallback callback )
確認比賽結果已結束,且尚待當地完成比對。
只有在 TurnBasedMatch::Status()
傳回 MatchStatus::PENDING_COMPLETION
時,才能呼叫這個函式。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
ConfirmPendingCompletionBlocking
TurnBasedMatchResponse ConfirmPendingCompletionBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 ConfirmPendingCompletion 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
ConfirmPendingCompletionBlocking
TurnBasedMatchResponse ConfirmPendingCompletionBlocking( const TurnBasedMatch & match )
ConfirmPendingCompletionBlocking 超載會使用 10 年的預設逾時。
CreateTurnBasedMatch
void CreateTurnBasedMatch( const gpg::TurnBasedMatchConfig & config, TurnBasedMatchCallback callback )
使用提供的 TurnBasedMatchConfig
,以非同步方式建立 TurnBasedMatch
。
如果建立成功,此函式會透過提供的 TurnBasedMatchCallback
傳回 TurnBasedMatch
。新建立的 TurnBasedMatch
一律會以 TurnBasedMatchState::MY_TURN
狀態開始。
CreateTurnBasedMatchBlocking
TurnBasedMatchResponse CreateTurnBasedMatchBlocking( Timeout timeout, const gpg::TurnBasedMatchConfig & config )
封鎖 CreateTurnBasedMatch 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
CreateTurnBasedMatchBlocking
TurnBasedMatchResponse CreateTurnBasedMatchBlocking( const gpg::TurnBasedMatchConfig & config )
CreateTurnBasedMatchBlocking 超載,會使用 10 年的預設逾時。
DeclineInvitation
void DeclineInvitation( const MultiplayerInvitation & invitation )
拒絕 MultiplayerInvitation
給 TurnBasedMatch
。
這樣做會取消其他參與者的比賽,並從本機玩家的裝置中移除對戰。
DismissInvitation
void DismissInvitation( const MultiplayerInvitation & invitation )
關閉對 TurnBasedMatch
的 MultiplayerInvitation
。
這不會變更其他參與者的 TurnBasedMatch
顯示狀態,但會將 TurnBasedMatch
從本機玩家的裝置中移除。
DismissMatch
void DismissMatch( const TurnBasedMatch & match )
這不會變更其他參與者的 TurnBasedMatch
顯示狀態,但會將 TurnBasedMatch
從本機玩家的裝置中移除。
FetchMatch
void FetchMatch( const std::string & match_id, TurnBasedMatchCallback callback )
按 ID 以非同步方式擷取特定相符項目。
這項作業會透過 TurnBasedMatchCallback
傳回。
FetchMatchBlocking
TurnBasedMatchResponse FetchMatchBlocking( Timeout timeout, const std::string & match_id )
封鎖 FetchMatch 版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
FetchMatchBlocking
TurnBasedMatchResponse FetchMatchBlocking( const std::string & match_id )
FetchMatchBlocking 超載,會使用 10 年的預設逾時。
FetchMatches
void FetchMatches( TurnBasedMatchesCallback callback )
以非同步方式擷取目前玩家的 TurnBasedMatch
和 Invitation
物件。
系統會傳回所有進行中的相符項目,以及最多 10 個已完成的相符項目。
FetchMatchesBlocking
TurnBasedMatchesResponse FetchMatchesBlocking( Timeout timeout )
封鎖 FetchMatches 版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
FetchMatchesBlocking
TurnBasedMatchesResponse FetchMatchesBlocking()
FetchMatchesBlocking 超載,會使用 10 年的預設逾時。
FinishMatchDuringMyTurn
void FinishMatchDuringMyTurn( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, TurnBasedMatchCallback callback )
以非同步方式完成指定的比對。
在比賽的最終回合中,您可以用這個方式取代 TakeMyTurn。允許呼叫端指定 match_data
的最終值,以及 ParticipantResults
的最終值。這項作業完成之後,系統會透過提供的 TurnBasedMatchCallback.
傳回更新的比對項目。只有在 TurnBasedMatch::Status()
傳回 MatchStatus::MY_TURN.
時,才能呼叫這個函式
詳細資料 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
FinishMatchDuringMyTurnBlocking
TurnBasedMatchResponse FinishMatchDuringMyTurnBlocking( Timeout timeout, const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results )
封鎖 FinishMatchDuringMyTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
FinishMatchDuringMyTurnBlocking
TurnBasedMatchResponse FinishMatchDuringMyTurnBlocking( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results )
FinishMatchDuringMyTurnBlocking 超載,其預設逾時為 10 年。
LeaveMatchDuringMyTurn
void LeaveMatchDuringMyTurn( const TurnBasedMatch & match, const MultiplayerParticipant & next_participant, MultiplayerStatusCallback callback )
在本機參與者回合期間以非同步方式離開比賽。
透過 TurnBasedMatchCallback
傳回的回應包含本機玩家離開後的比對狀態。如果此次出發離開比賽的參與者少於兩位,系統將取消對戰。match.Status()
必須傳回 MatchStatus::MY_TURN
,才能使用這個函式。
詳細資料 | |||||||
---|---|---|---|---|---|---|---|
參數 |
|
LeaveMatchDuringMyTurnBlocking
MultiplayerStatus LeaveMatchDuringMyTurnBlocking( Timeout timeout, const TurnBasedMatch & match, const MultiplayerParticipant & next_participant )
封鎖 LeaveMatchDuringMyTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
LeaveMatchDuringMyTurnBlocking
MultiplayerStatus LeaveMatchDuringMyTurnBlocking( const TurnBasedMatch & match, const MultiplayerParticipant & next_participant )
LeaveMatchDuringMyTurnBlocking 超載,其預設逾時為 10 年。
LeaveMatchDuringTheirTurn
void LeaveMatchDuringTheirTurn( const TurnBasedMatch & match, MultiplayerStatusCallback callback )
在其他參與者回合期間,以非同步方式離開比賽。
透過 MultiplayerStatusCallback
傳回的回應會包含本機參與者是否成功離開對戰。如果此次出發離開比賽的參與者少於兩位,系統將取消對戰。match.Status()
必須傳回 MatchStatus::THEIR_TURN
,才能使用這個函式。
LeaveMatchDuringTheirTurnBlocking
MultiplayerStatus LeaveMatchDuringTheirTurnBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 LeaveMatchDuringTheirTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
LeaveMatchDuringTheirTurnBlocking
MultiplayerStatus LeaveMatchDuringTheirTurnBlocking( const TurnBasedMatch & match )
LeaveMatchDuringTheirTurnBlocking 超載,其預設逾時為 10 年。
再玩一局
void Rematch( const TurnBasedMatch & match, TurnBasedMatchCallback callback )
重新比對狀態為 MatchStatus::COMPLETED 的比對。
如果可以進行重新配對,TurnBasedMatchCallback
會收到新的相符項目。
詳細資料 | |||||
---|---|---|---|---|---|
參數 |
|
RematchBlocking
TurnBasedMatchResponse RematchBlocking( Timeout timeout, const TurnBasedMatch & match )
封鎖 Rematch 的封鎖版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
RematchBlocking
TurnBasedMatchResponse RematchBlocking( const TurnBasedMatch & match )
RematchBlocking 超載,會使用 10 年的預設逾時。
ShowMatchInboxUI
void ShowMatchInboxUI( MatchInboxUICallback callback )
同步顯示配對收件匣 UI,讓玩家選取相符項目或邀請。
同步完成後,系統會透過 MatchInboxUICallback
傳回所選相符項目或邀請。
ShowMatchInboxUIBlocking
MatchInboxUIResponse ShowMatchInboxUIBlocking( Timeout timeout )
封鎖 ShowMatchInboxUI 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
ShowMatchInboxUIBlocking
MatchInboxUIResponse ShowMatchInboxUIBlocking()
ShowMatchInboxUIBlocking 超載,會使用 10 年的預設逾時。
ShowPlayerSelectUI
void ShowPlayerSelectUI( uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch, PlayerSelectUICallback callback )
非同步顯示玩家選取的 UI,讓玩家選擇其他玩家進行對戰。
完成後,系統會透過 PlayerSelectUICallback
傳回所選玩家。
ShowPlayerSelectUIBlocking
PlayerSelectUIResponse ShowPlayerSelectUIBlocking( Timeout timeout, uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch )
封鎖 ShowPlayerSelectUI 版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
ShowPlayerSelectUIBlocking
PlayerSelectUIResponse ShowPlayerSelectUIBlocking( uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch )
ShowPlayerSelectUIBlocking 超載使用 10 年的預設逾時。
SynchronizeData
void SynchronizeData()
強制同步處理 TBMP 比對資料與伺服器。
收到新資料會觸發 OnTurnBasedMatchEventCallback
或 OnMultiplayerInvitationReceivedCallback
。
TakeMyTurn
void TakeMyTurn( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, const MultiplayerParticipant & next_participant, TurnBasedMatchCallback callback )
以非同步方式接受當地參與者的回合。
輪轉時,參與者可以指定 match_data
的新值和一組 ParticipantResults
。結束回合後,系統會透過 TurnBasedMatchCallback
傳回更新後的比對項目。只有在 TurnBasedMatch::Status()
為 MatchStatus::MY_TURN
時,才能呼叫這個函式。
詳細資料 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
TakeMyTurnBlocking
TurnBasedMatchResponse TakeMyTurnBlocking( Timeout timeout, const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, const MultiplayerParticipant & next_participant )
封鎖 TakeMyTurn 的版本。
允許呼叫端指定逾時時間 (以毫秒為單位)。經過指定時間後,函式會傳回 ERROR_TIMEOUT
。
TakeMyTurnBlocking
TurnBasedMatchResponse TakeMyTurnBlocking( const TurnBasedMatch & match, std::vector< uint8_t > match_data, const ParticipantResults & results, const MultiplayerParticipant & next_participant )
TakeMyTurnBlocking 超載 (使用 10 年的預設逾時)。