gpg::RealTimeMultiplayerManager

#include <real_time_multiplayer_manager.h>

获取和修改 RealTimeRoom 对象、处理其消息并创建这些对象。

摘要

公共类型

FetchInvitationsCallback typedef
std::function< void(const FetchInvitationsResponse &)>
定义了一个可用于从某个实时多人游戏操作中接收 WaitingRoomUIResponse 的回调。
LeaveRoomCallback typedef
std::function< void(const ResponseStatus &)>
定义了一个可以从 LeaveRoom 接收 ResponseStatus 的回调。
PlayerSelectUICallback typedef
std::function< void(const PlayerSelectUIResponse &)>
定义了一个可以从 ShowPlayerSelectUI 接收 PlayerSelectUIResponse 的回调。
PlayerSelectUIResponse typedef
ShowPlayerSelectUI 操作的 DataResponseStatus
RealTimeRoomCallback typedef
std::function< void(const RealTimeRoomResponse &)>
定义了一个可用于从某个回合制多人游戏操作中接收 RealTimeRoomResponse 结构体的回调。
RoomInboxUICallback typedef
std::function< void(const RoomInboxUIResponse &)>
定义了一个可以从 ShowRoomInboxUI 接收 RoomInboxUIResponse 的回调。
SendReliableMessageCallback typedef
std::function< void(const MultiplayerStatus &)>
定义了一个可以从 SendReliableMessage 接收 ResponseStatus 的回调。
WaitingRoomUICallback typedef
std::function< void(const WaitingRoomUIResponse &)>
定义了一个可用于从某个实时多人游戏操作中接收 WaitingRoomUIResponse 的回调。

公共函数

AcceptInvitation(const MultiplayerInvitation & invitation, IRealTimeEventListener *listener, RealTimeRoomCallback callback)
void
异步接受一个 MultiplayerInvitation,并通过 RealTimeRoomCallback 返回结果。
AcceptInvitation(const MultiplayerInvitation & invitation, RealTimeEventListenerHelper helper, RealTimeRoomCallback callback)
void
异步接受一个 MultiplayerInvitation,并通过 RealTimeRoomCallback 返回结果。
AcceptInvitationBlocking(Timeout timeout, const MultiplayerInvitation & invitation, IRealTimeEventListener *listener)
AcceptInvitation 的阻塞版本。
AcceptInvitationBlocking(const MultiplayerInvitation & invitation, IRealTimeEventListener *listener)
AcceptInvitationBlocking 的重载,使用默认超时时间 10 年。
AcceptInvitationBlocking(Timeout timeout, const MultiplayerInvitation & invitation, RealTimeEventListenerHelper helper)
AcceptInvitation 的阻塞版本。
AcceptInvitationBlocking(const MultiplayerInvitation & invitation, RealTimeEventListenerHelper helper)
AcceptInvitationBlocking 的重载,使用默认超时时间 10 年。
CreateRealTimeRoom(const gpg::RealTimeRoomConfig & config, IRealTimeEventListener *listener, RealTimeRoomCallback callback)
void
使用提供的 RealTimeRoomConfig 类异步创建一个 RealTimeRoom 对象。
CreateRealTimeRoom(const gpg::RealTimeRoomConfig & config, RealTimeEventListenerHelper helper, RealTimeRoomCallback callback)
void
使用提供的 RealTimeRoomConfig 类异步创建一个 RealTimeRoom 对象。
CreateRealTimeRoomBlocking(Timeout timeout, const RealTimeRoomConfig & config, IRealTimeEventListener *listener)
CreateRealTimeRoom 的阻塞版本。
CreateRealTimeRoomBlocking(const RealTimeRoomConfig & config, IRealTimeEventListener *listener)
CreateRealTimeRoomBlocking 的重载,使用默认超时时间 10 年。
CreateRealTimeRoomBlocking(Timeout timeout, const RealTimeRoomConfig & config, RealTimeEventListenerHelper helper)
CreateRealTimeRoom 的阻塞版本。
CreateRealTimeRoomBlocking(const RealTimeRoomConfig & config, RealTimeEventListenerHelper helper)
CreateRealTimeRoomBlocking 的重载,使用默认超时时间 10 年。
DeclineInvitation(const MultiplayerInvitation & invitation)
void
DismissInvitation(const MultiplayerInvitation & invitation)
void
FetchInvitations(FetchInvitationsCallback callback)
void
获取所有实时房间的 MultiplayerInvitation
FetchInvitationsBlocking(Timeout timeout)
FetchInvitations 的阻塞版本。
FetchInvitationsBlocking()
FetchInvitationsBlocking 的重载,使用默认超时时间 10 年。
LeaveRoom(const RealTimeRoom & room, LeaveRoomCallback callback)
void
离开 RealTimeRoom
LeaveRoomBlocking(Timeout timeout, const RealTimeRoom & room)
LeaveRoom 的阻塞版本。
LeaveRoomBlocking(const RealTimeRoom & room)
LeaveRoomBlocking 的重载,使用默认超时时间 10 年。
SendReliableMessage(const RealTimeRoom & room, const MultiplayerParticipant & participant, std::vector< uint8_t > data, SendReliableMessageCallback callback)
void
向指定的 MultiplayerParticipant 发送消息。
SendReliableMessageBlocking(Timeout timeout, const RealTimeRoom & room, const MultiplayerParticipant & participant, std::vector< uint8_t > data)
SendReliableMessage 的阻塞版本。
SendReliableMessageBlocking(const RealTimeRoom & room, const MultiplayerParticipant & participant, std::vector< uint8_t > data)
SendReliableMessageBlocking 的重载,使用默认超时时间 10 年。
SendUnreliableMessage(const RealTimeRoom & room, const std::vector< MultiplayerParticipant > & participants, std::vector< uint8_t > data)
void
向指定的 MultiplayerParticipants 发送消息。
SendUnreliableMessageToOthers(const RealTimeRoom & room, std::vector< uint8_t > data)
void
向除当前用户之外的所有参与者发送消息。
ShowPlayerSelectUI(uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch, PlayerSelectUICallback callback)
void
异步显示玩家选择 UI,允许玩家选择其他玩家加入房间。
ShowPlayerSelectUIBlocking(Timeout timeout, uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch)
ShowPlayerSelectUI 的阻塞版本。
ShowPlayerSelectUIBlocking(uint32_t minimum_players, uint32_t maximum_players, bool allow_automatch)
ShowPlayerSelectUIBlocking 的重载,使用默认超时时间 10 年。
ShowRoomInboxUI(RoomInboxUICallback callback)
void
异步显示房间收件箱 UI,允许玩家选择多人游戏邀请。
ShowRoomInboxUIBlocking(Timeout timeout)
ShowRoomInboxUI 的阻塞版本。
ShowRoomInboxUIBlocking()
ShowRoomInboxUIBlocking 的重载,使用默认超时时间 10 年。
ShowWaitingRoomUI(const RealTimeRoom & room, uint32_t min_participants_to_start, WaitingRoomUICallback callback)
void
显示一个候机室 UI,其中显示加入此房间的 MultiplayerParticipants 的状态。
ShowWaitingRoomUIBlocking(Timeout timeout, const RealTimeRoom & room, uint32_t min_participants_to_start)
ShowWaitingRoomUI 的阻塞版本。
ShowWaitingRoomUIBlocking(const RealTimeRoom & room, uint32_t min_participants_to_start)
ShowWaitingRoomUIBlocking 的重载,使用默认超时时间 10 年。

结构体

gpg::RealTimeMultiplayerManager::FetchInvitationsResponse

FetchInvitations 操作的 DataResponseStatus

gpg::RealTimeMultiplayerManager::RealTimeRoomResponse

特定 RealTimeRoom 对象的 DataResponseStatus

gpg::RealTimeMultiplayerManager::RoomInboxUIResponse

ShowRoomInboxUI 操作的 DataResponseStatus

gpg::RealTimeMultiplayerManager::WaitingRoomUIResponse

ShowWaitingRoomUI 操作的 DataResponseStatus

公共类型

FetchInvitationsCallback

std::function< void(const FetchInvitationsResponse &)> FetchInvitationsCallback

定义了一个可用于从某个实时多人游戏操作中接收 WaitingRoomUIResponse 的回调。

LeaveRoomCallback

std::function< void(const ResponseStatus &)> LeaveRoomCallback

定义了一个可以从 LeaveRoom 接收 ResponseStatus 的回调。

PlayerSelectUICallback

std::function< void(const PlayerSelectUIResponse &)> PlayerSelectUICallback

定义了一个可以从 ShowPlayerSelectUI 接收 PlayerSelectUIResponse 的回调。

PlayerSelectUIResponse

TurnBasedMultiplayerManager::PlayerSelectUIResponse PlayerSelectUIResponse

ShowPlayerSelectUI 操作的 DataResponseStatus

这与回合制多人游戏共用。

RealTimeRoomCallback

std::function< void(const RealTimeRoomResponse &)> RealTimeRoomCallback

定义了一个可用于从某个回合制多人游戏操作中接收 RealTimeRoomResponse 结构体的回调。

RoomInboxUICallback

std::function< void(const RoomInboxUIResponse &)> RoomInboxUICallback

定义了一个可以从 ShowRoomInboxUI 接收 RoomInboxUIResponse 的回调。

SendReliableMessageCallback

std::function< void(const MultiplayerStatus &)> SendReliableMessageCallback

定义了一个可以从 SendReliableMessage 接收 ResponseStatus 的回调。

WaitingRoomUICallback

std::function< void(const WaitingRoomUIResponse &)> WaitingRoomUICallback

定义了一个可用于从某个实时多人游戏操作中接收 WaitingRoomUIResponse 的回调。

公共函数

AcceptInvitation

void AcceptInvitation(
  const MultiplayerInvitation & invitation,
  IRealTimeEventListener *listener,
  RealTimeRoomCallback callback
)

异步接受一个 MultiplayerInvitation,并通过 RealTimeRoomCallback 返回结果。

AcceptInvitation

void AcceptInvitation(
  const MultiplayerInvitation & invitation,
  RealTimeEventListenerHelper helper,
  RealTimeRoomCallback callback
)

异步接受一个 MultiplayerInvitation,并通过 RealTimeRoomCallback 返回结果。

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  Timeout timeout,
  const MultiplayerInvitation & invitation,
  IRealTimeEventListener *listener
)

AcceptInvitation 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  const MultiplayerInvitation & invitation,
  IRealTimeEventListener *listener
)

AcceptInvitationBlocking 的重载,使用默认超时时间 10 年。

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  Timeout timeout,
  const MultiplayerInvitation & invitation,
  RealTimeEventListenerHelper helper
)

AcceptInvitation 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

AcceptInvitationBlocking

RealTimeRoomResponse AcceptInvitationBlocking(
  const MultiplayerInvitation & invitation,
  RealTimeEventListenerHelper helper
)

AcceptInvitationBlocking 的重载,使用默认超时时间 10 年。

CreateRealTimeRoom

void CreateRealTimeRoom(
  const gpg::RealTimeRoomConfig & config,
  IRealTimeEventListener *listener,
  RealTimeRoomCallback callback
)

使用提供的 RealTimeRoomConfig 类异步创建一个 RealTimeRoom 对象。

如果创建成功,此函数会通过提供的 RealTimeRoomCallback 返回 RealTimeRoom 对象。

CreateRealTimeRoom

void CreateRealTimeRoom(
  const gpg::RealTimeRoomConfig & config,
  RealTimeEventListenerHelper helper,
  RealTimeRoomCallback callback
)

使用提供的 RealTimeRoomConfig 类异步创建一个 RealTimeRoom 对象。

如果创建成功,此函数会通过提供的 RealTimeRoomCallback 返回 RealTimeRoom 对象。

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  Timeout timeout,
  const RealTimeRoomConfig & config,
  IRealTimeEventListener *listener
)

CreateRealTimeRoom 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  const RealTimeRoomConfig & config,
  IRealTimeEventListener *listener
)

CreateRealTimeRoomBlocking 的重载,使用默认超时时间 10 年。

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  Timeout timeout,
  const RealTimeRoomConfig & config,
  RealTimeEventListenerHelper helper
)

CreateRealTimeRoom 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

CreateRealTimeRoomBlocking

RealTimeRoomResponse CreateRealTimeRoomBlocking(
  const RealTimeRoomConfig & config,
  RealTimeEventListenerHelper helper
)

CreateRealTimeRoomBlocking 的重载,使用默认超时时间 10 年。

DeclineInvitation

void DeclineInvitation(
  const MultiplayerInvitation & invitation
)

拒绝前往 RealTimeRoomMultiplayerInvitation

这样做会取消其他参与者的房间,并从本地玩家设备上移除房间。

DismissInvitation

void DismissInvitation(
  const MultiplayerInvitation & invitation
)

取消前往 RealTimeRoomMultiplayerInvitation

这不会改变其他参与者对 RealTimeRoom 的可见状态,但会将其从本地玩家设备上移除。

FetchInvitations

void FetchInvitations(
  FetchInvitationsCallback callback
)

获取所有实时房间的 MultiplayerInvitation

获取到的 MultiplayerInvitations 会通过提供的 FetchInvitationsCallback 返回。

FetchInvitationsBlocking

FetchInvitationsResponse FetchInvitationsBlocking(
  Timeout timeout
)

FetchInvitations 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

FetchInvitationsBlocking

FetchInvitationsResponse FetchInvitationsBlocking()

FetchInvitationsBlocking 的重载,使用默认超时时间 10 年。

LeaveRoom

void LeaveRoom(
  const RealTimeRoom & room,
  LeaveRoomCallback callback
)

离开 RealTimeRoom

在此操作完成之前,不应创建新房间或尝试加入其他房间。此操作的结果会通过 LeaveRoomCallback 返回。

LeaveRoomBlocking

ResponseStatus LeaveRoomBlocking(
  Timeout timeout,
  const RealTimeRoom & room
)

LeaveRoom 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

LeaveRoomBlocking

ResponseStatus LeaveRoomBlocking(
  const RealTimeRoom & room
)

LeaveRoomBlocking 的重载,使用默认超时时间 10 年。

SendReliableMessage

void SendReliableMessage(
  const RealTimeRoom & room,
  const MultiplayerParticipant & participant,
  std::vector< uint8_t > data,
  SendReliableMessageCallback callback
)

向指定的 MultiplayerParticipant 发送消息。

使用可靠方法发送消息。此发送数据方法可能比不可靠方法发送消息花费更长时间。发送结果通过提供的回调报告。

SendReliableMessageBlocking

MultiplayerStatus SendReliableMessageBlocking(
  Timeout timeout,
  const RealTimeRoom & room,
  const MultiplayerParticipant & participant,
  std::vector< uint8_t > data
)

SendReliableMessage 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

SendReliableMessageBlocking

MultiplayerStatus SendReliableMessageBlocking(
  const RealTimeRoom & room,
  const MultiplayerParticipant & participant,
  std::vector< uint8_t > data
)

SendReliableMessageBlocking 的重载,使用默认超时时间 10 年。

SendUnreliableMessage

void SendUnreliableMessage(
  const RealTimeRoom & room,
  const std::vector< MultiplayerParticipant > & participants,
  std::vector< uint8_t > data
)

向指定的 MultiplayerParticipants 发送消息。

使用不可靠方法发送消息。此发送数据方法比可靠方法发送数据速度更快,如果可能应优先使用。

SendUnreliableMessageToOthers

void SendUnreliableMessageToOthers(
  const RealTimeRoom & room,
  std::vector< uint8_t > data
)

向除当前用户之外的所有参与者发送消息。

使用不可靠方法发送消息。此发送数据方法比可靠方法发送数据速度更快,如果可能应优先使用。

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 年。

ShowRoomInboxUI

void ShowRoomInboxUI(
  RoomInboxUICallback callback
)

异步显示房间收件箱 UI,允许玩家选择多人游戏邀请。

完成后,选中的邀请将通过 RoomInboxUIResponse 返回。

ShowRoomInboxUIBlocking

RoomInboxUIResponse ShowRoomInboxUIBlocking(
  Timeout timeout
)

ShowRoomInboxUI 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

ShowRoomInboxUIBlocking

RoomInboxUIResponse ShowRoomInboxUIBlocking()

ShowRoomInboxUIBlocking 的重载,使用默认超时时间 10 年。

ShowWaitingRoomUI

void ShowWaitingRoomUI(
  const RealTimeRoom & room,
  uint32_t min_participants_to_start,
  WaitingRoomUICallback callback
)

显示一个候机室 UI,其中显示加入此房间的 MultiplayerParticipants 的状态。

ShowWaitingRoomUIBlocking

WaitingRoomUIResponse ShowWaitingRoomUIBlocking(
  Timeout timeout,
  const RealTimeRoom & room,
  uint32_t min_participants_to_start
)

ShowWaitingRoomUI 的阻塞版本。

允许调用方指定以毫秒为单位的超时时间。超过指定时间后,函数将返回 ERROR_TIMEOUT

ShowWaitingRoomUIBlocking

WaitingRoomUIResponse ShowWaitingRoomUIBlocking(
  const RealTimeRoom & room,
  uint32_t min_participants_to_start
)

ShowWaitingRoomUIBlocking 的重载,使用默认超时时间 10 年。