gpg::RealTimeMultiplayerManager

#include <real_time_multiplayer_manager.h>

擷取、修改、處理和建立 RealTimeRoom 物件的訊息。

摘要

公開類型

FetchInvitationsCallback typedef
std::function< void(const FetchInvitationsResponse &)>
定義可用來接收其中一個即時多人遊戲作業的 WaitingRoomUIResponse 的回呼。
LeaveRoomCallback typedef
std::function< void(const ResponseStatus &)>
定義可接收來自 LeaveRoomResponseStatus 的回呼。
PlayerSelectUICallback typedef
std::function< void(const PlayerSelectUIResponse &)>
定義可接收來自 ShowPlayerSelectUIPlayerSelectUIResponse 的回呼。
PlayerSelectUIResponse typedef
ShowPlayerSelectUI 作業的 DataResponseStatus
RealTimeRoomCallback typedef
std::function< void(const RealTimeRoomResponse &)>
定義可用來接收其中一項回合製多人遊戲作業的 RealTimeRoomResponse 結構的回呼。
RoomInboxUICallback typedef
std::function< void(const RoomInboxUIResponse &)>
定義可接收來自 ShowRoomInboxUIRoomInboxUIResponse 的回呼。
SendReliableMessageCallback typedef
std::function< void(const MultiplayerStatus &)>
定義可接收來自 SendReliableMessageResponseStatus 的回呼。
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 年的預設逾時。

Structs

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

定義可接收來自 LeaveRoomResponseStatus 的回呼。

PlayerSelectUICallback

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

定義可接收來自 ShowPlayerSelectUIPlayerSelectUIResponse 的回呼。

PlayerSelectUIResponse

TurnBasedMultiplayerManager::PlayerSelectUIResponse PlayerSelectUIResponse

ShowPlayerSelectUI 作業的 DataResponseStatus

多人對戰制多人對戰遊戲也會共用這個 ID。

RealTimeRoomCallback

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

定義可用來接收其中一項回合製多人遊戲作業的 RealTimeRoomResponse 結構的回呼。

RoomInboxUICallback

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

定義可接收來自 ShowRoomInboxUIRoomInboxUIResponse 的回呼。

SendReliableMessageCallback

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

定義可接收來自 SendReliableMessageResponseStatus 的回呼。

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
)

拒絕 MultiplayerInvitationRealTimeRoom

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

DismissInvitation

void DismissInvitation(
  const MultiplayerInvitation & invitation
)

關閉對 RealTimeRoomMultiplayerInvitation

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

FetchInvitations

void FetchInvitations(
  FetchInvitationsCallback callback
)

擷取即時會議室的所有 MultiplayerInvitation

系統會透過提供的 FetchInvitationsCallback 傳回擷取的 MultiplayerInvitation

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 年的預設逾時。