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
傳送訊息給指定的 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
以非同步方式顯示玩家選擇的 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,顯示加入此聊天室的多人參與者狀態。
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
)

MultiplayerInvitation 拒絕為 RealTimeRoom

這麼做會取消其他參與者的會議室,並從本機玩家的裝置中移除。

DismissInvitation

void DismissInvitation(
  const MultiplayerInvitation & invitation
)

關閉對 RealTimeRoomMultiplayerInvitation

這項操作不會變更其他參與者的 RealTimeRoom 顯示狀態,但會從本機玩家的裝置中移除此狀態。

FetchInvitations

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
)

以非同步方式顯示玩家選擇的 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,顯示加入此聊天室的多人參與者狀態。

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