gpg::RealTimeMultiplayerManager

#include <real_time_multiplayer_manager.h>

提取、修改、处理 RealTimeRoom 对象的消息传递,以及创建 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
DataResponseStatus 用于 ShowPlayerSelectUI 运算。
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
向指定的 MultiplayerParticipant 发送消息。
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
异步显示玩家选择界面,以便玩家选择要与之一起加入房间的其他玩家。
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
异步显示聊天室收件箱界面,以便玩家选择多人游戏邀请。
ShowRoomInboxUIBlocking(Timeout timeout)
ShowRoomInboxUI 的屏蔽版本。
ShowRoomInboxUIBlocking()
ShowRoomInboxUIBlocking 的过载,其默认超时时间为 10 年。
ShowWaitingRoomUI(const RealTimeRoom & room, uint32_t min_participants_to_start, WaitingRoomUICallback callback)
void
显示一个等候室界面,用于显示加入此聊天室的 MultiplayerParticipant 的状态。
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

DataResponseStatus 用于 FetchInvitations 运算。

gpg::RealTimeMultiplayerManager::RealTimeRoomResponse

特定 RealTimeRoom 对象的 DataResponseStatus

gpg::RealTimeMultiplayerManager::RoomInboxUIResponse

DataResponseStatus 用于 ShowRoomInboxUI 运算。

gpg::RealTimeMultiplayerManager::WaitingRoomUIResponse

DataResponseStatus 用于 ShowWaitingRoomUI 运算。

公共类型

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

DataResponseStatus 用于 ShowPlayerSelectUI 运算。

此属性与回合制多人游戏共享。

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
)

MultiplayerInvitation 降级为 RealTimeRoom

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

DismissInvitation

void DismissInvitation(
  const MultiplayerInvitation & invitation
)

MultiplayerInvitation 关闭为 RealTimeRoom

这不会更改其他参与者的 RealTimeRoom 的公开状态,但会将其从本地玩家的设备中移除。

提取邀请

void FetchInvitations(
  FetchInvitationsCallback callback
)

为实时聊天室提取任何 MultiplayerInvitation

提取的 MultiplayerInvitation 会通过提供的 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
)

向指定的 MultiplayerParticipant 发送消息。

使用不可靠的方法发送消息。这种发送数据的方法比可靠地发送数据更快,因此应尽可能采用这种方法。

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
)

异步显示玩家选择界面,让玩家选择要与之一起加入房间的其他玩家。

完成后,系统会通过 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
)

异步显示聊天室收件箱界面,以便玩家选择多人游戏邀请。

完成后,系统会通过 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
)

显示一个等候室界面,用于显示加入此聊天室的 MultiplayerParticipant 的状态。

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