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
可以传递给接受“下一个参与者”参数的方法的参与者。
|
结构体 |
|
---|---|
gpg:: |
|
gpg:: |
|
gpg:: |
|
gpg:: |
|
公共类型
MatchInboxUICallback
std::function< void(const MatchInboxUIResponse &)> MatchInboxUICallback
定义一个回调函数,可以从 ShowMatchInboxUI
接收 MatchInboxUIResponse
。
MultiplayerStatusCallback
std::function< void(MultiplayerStatus)> MultiplayerStatusCallback
定义一个回调函数,可以用来接收 MultiplayerStatus。
用于 LeaveMatch 和 CancelMatch 函数。
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 时,才能将 kAutomatchingParticipant 传递给函数。
公共函数
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 )
异步创建TurnBasedMatch
,使用提供的TurnBasedMatchConfig
。
如果创建成功,此函数将通过提供的 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 )
取消MultiplayerInvitation
到TurnBasedMatch
。
这不会更改其他参与者 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年。
Rematch(重赛)
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(显示比赛收件箱UI)
void ShowMatchInboxUI( MatchInboxUICallback callback )
异步显示比赛收件箱UI,允许玩家选择比赛或邀请。
完成后,将通过MatchInboxUICallback
返回所选比赛或邀请。
ShowMatchInboxUIBlocking
MatchInboxUIResponse ShowMatchInboxUIBlocking( Timeout timeout )
ShowMatchInboxUI 的阻塞版本。
允许调用者以毫秒为单位指定超时时间。超过指定时间后,函数返回 ERROR_TIMEOUT
。
ShowMatchInboxUIBlocking
MatchInboxUIResponse ShowMatchInboxUIBlocking()
ShowMatchInboxUIBlocking 的重载版本,使用默认超时时间为10年。
ShowPlayerSelectUI(显示玩家选择UI)
void ShowPlayerSelectUI( uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch, PlayerSelectUICallback callback )
异步显示玩家选择UI,允许玩家选择其他玩家一起比赛。
完成后,将通过PlayerSelectUICallback
返回所选玩家。
ShowPlayerSelectUIBlocking(显示玩家选择UI,阻塞式)
PlayerSelectUIResponse ShowPlayerSelectUIBlocking( Timeout timeout, uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch )
ShowPlayerSelectUI 的阻塞版本。
允许调用者以毫秒为单位指定超时时间。超过指定时间后,函数返回 ERROR_TIMEOUT
。
ShowPlayerSelectUIBlocking(显示玩家选择UI,阻塞式)
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年。