gpg::TurnBasedMatch

#include <turn_based_match.h>

包含 TurnBasedMatch 目前狀態相關資料的資料結構。

摘要

建構函式和解構函式

TurnBasedMatch()
TurnBasedMatch(std::shared_ptr< const TurnBasedMatchImpl > impl)
建構從 shared_ptrTurnBasedMatchImplTurnBasedMatch
TurnBasedMatch(const TurnBasedMatch & copy_from)
建立現有 TurnBasedMatch 的副本。
TurnBasedMatch(TurnBasedMatch && move_from)
移動現有的 TurnBasedMatch

公用函式

AutomatchingSlotsAvailable() const
uint32_t
傳回相符項目的可用自動比對版位數量。
CreatingParticipant() const
傳回建立這場對戰的參與者。
CreationTime() const
std::chrono::milliseconds
傳回此 TurnBasedMatch was created 的時間 (以從 Unix Epoch 紀元時間起算的毫秒為單位)。
Data() const
const std::vector< uint8_t > &
如果 HasData() 為 true,系統會傳回比對資料。
Description() const
const std::string &
傳回伺服器產生的比對狀態摘要。
HasData() const
bool
如果此物件包含上次轉彎期間設定的資料,則為「true」。
HasPreviousMatchData() const
bool
如果這是重新比對的第一回合,且上一個 Valid 的資料必須傳回 true,這個函式才會使用。
HasRematchId() const
bool
如果已經重新比對相符項目,則傳回 true。
Id() const
const std::string &
傳回專門用來識別此 TurnBasedMatch 的 ID。
LastUpdateTime() const
傳回這個 TurnBasedMatch 的上次更新時間 (以毫秒為單位,自 Unix 紀元開始算起)。
LastUpdatingParticipant() const
傳回最近更新這場比對的參與者。
Number() const
uint32_t
數字,用來表示在重新比對之前,預先比對符合的相符項目數量。
ParticipantResults() const
傳回相符項目。
Participants() const
const std::vector< MultiplayerParticipant > &
這場比賽所有參與者的向量。
PendingParticipant() const
傳回交回參與者,以更新此對戰。
PreviousMatchData() const
const std::vector< uint8_t > &
如果 HasPreviousMatchData() 是上一個比對項目的資料,
RematchId() const
const std::string &
傳回與此相符項目重新比對的相符項目 ID (如果有的話)。
Status() const
傳回本機參與者的比對狀態。
SuggestedNextParticipant() const
一種輔助函式,會從已加入群組、可邀請及自動配對的參與者中,選出有效的參與者。
Valid() const
bool
如果這個 TurnBasedMatch 已填入資料,則傳回 true。
Variant() const
uint32_t
傳回遊戲專屬的變化版本 ID,方便遊戲用於識別不同的遊戲模式。
Version() const
uint32_t
絕對遞增的 ID,每次修改相符項目時都會更新。
operator=(const TurnBasedMatch & copy_from)
會從另一個 TurnBasedMatch 中複製此 。
operator=(TurnBasedMatch && move_from)
如要指派這個 TurnBasedMatch,請將其他項目移至該項目。

公用函式

AutomatchingSlotsAvailable

uint32_t AutomatchingSlotsAvailable() const 

傳回相符項目的可用自動比對版位數量。

此數字等於建立相符項目的自動對戰運算單元數量,減去已透過自動比對新增的參與者人數。Valid 必須傳回 true,這個函式才會使用。

CreatingParticipant

MultiplayerParticipant CreatingParticipant() const 

傳回建立這場對戰的參與者。

Valid 必須傳回 true,這個函式才會使用。

CreationTime

std::chrono::milliseconds CreationTime() const 

傳回此 TurnBasedMatch was created 的時間 (以從 Unix Epoch 紀元時間起算的毫秒為單位)。

Valid 必須傳回 true,這個函式才會使用。

資料

const std::vector< uint8_t > & Data() const 

如果 HasData() 為 true,系統會傳回比對資料。

Valid 必須傳回 true,這個函式才會使用。

說明

const std::string & Description() const 

傳回伺服器產生的比對狀態摘要。

Valid 必須傳回 true,這個函式才會使用。

HasData

bool HasData() const 

如果此物件包含上次轉彎期間設定的資料,則為「true」。

Valid 必須傳回 true,這個函式才會使用。

HasPreviousMatchData

bool HasPreviousMatchData() const 

如果這是重新比對的第一回合,且上一個 Valid 的資料必須傳回 true,這個函式才會使用。

HasRematchId

bool HasRematchId() const 

如果已經重新比對相符項目,則傳回 true。

ID

const std::string & Id() const 

傳回專門用來識別此 TurnBasedMatch 的 ID。

TurnBasedMultiplayerManager::FetchMatch 搭配使用,可在稍後擷取這個相符項目。Valid 必須傳回 true,這個函式才會使用。

LastUpdateTime

Timestamp LastUpdateTime() const 

傳回這個 TurnBasedMatch 的上次更新時間 (以毫秒為單位,自 Unix 紀元開始算起)。

Valid 必須傳回 true,這個函式才會使用。

LastUpdatingParticipant

MultiplayerParticipant LastUpdatingParticipant() const 

傳回最近更新這場比對的參與者。

Valid 必須傳回 true,這個函式才會使用。

編號

uint32_t Number() const 

數字,用來表示在重新比對之前,預先比對符合的相符項目數量。

在第一場相符項目時設為 1,並在每次重新比對時加 1。

ParticipantResults

const gpg::ParticipantResults & ParticipantResults() const 

傳回相符項目。

結果可透過 TurnBasedMultiplayerManager::TakeMyTurnTurnBasedMultiplayerManager::FinishDuringMyTurn 和其他相關的函式設定。一律使用 ParticipantResults().WithResult(...) 建立新的 ParticipantResults 物件,與任何現有物件一致。Valid 必須傳回 true,這個函式才會使用。

參與者

const std::vector< MultiplayerParticipant > & Participants() const 

這場比賽所有參與者的向量。

Valid 必須傳回 true,這個函式才會使用。

PendingParticipant

MultiplayerParticipant PendingParticipant() const 

傳回交回參與者,以更新此對戰。

Valid 必須傳回 true,這個函式才會使用。

PreviousMatchData

const std::vector< uint8_t > & PreviousMatchData() const 

如果 HasPreviousMatchData() 是上一個比對項目的資料,

只有在 Valid 傳回 true 時才能呼叫。

RematchId

const std::string & RematchId() const 

傳回與此相符項目重新比對的相符項目 ID (如果有的話)。

狀態

MatchStatus Status() const 

傳回本機參與者的比對狀態。

狀態決定了可對比對結果採取的動作。Valid 必須傳回 true,這個函式才會使用。

SuggestedNextParticipant

MultiplayerParticipant SuggestedNextParticipant() const 

一種輔助函式,會從已加入群組、可邀請及自動配對的參與者中,選出有效的參與者。

如果一律使用此功能選取下一位參與者,播放作業將依序播放所有參與者,並視需要重複播放。只有在 Status()MatchStatus::MY_TURN 時才能呼叫此函式,因為這是唯一可以使用此函式結果有意義的時間。如果呼叫錯誤,這個函式會傳回無效的參與者 (MultiplayerParticipant::Valid() == false)。

TurnBasedMatch

 TurnBasedMatch()

TurnBasedMatch

 TurnBasedMatch(
  std::shared_ptr< const TurnBasedMatchImpl > impl
)

建構從 shared_ptrTurnBasedMatchImplTurnBasedMatch

主要供 API 內部使用。

TurnBasedMatch

 TurnBasedMatch(
  const TurnBasedMatch & copy_from
)

建立現有 TurnBasedMatch 的副本。

TurnBasedMatch

 TurnBasedMatch(
  TurnBasedMatch && move_from
)

移動現有的 TurnBasedMatch

有效

bool Valid() const 

如果這個 TurnBasedMatch 已填入資料,則傳回 true。

必須為 TurnBasedMatch 物件 (IdCreationTime 等...) 上的 getter 函式傳回 true,才能使用。

Variant

uint32_t Variant() const 

傳回遊戲專屬的變化版本 ID,方便遊戲用於識別不同的遊戲模式。

Valid 必須傳回 true,這個函式才會使用。

版本

uint32_t Version() const 

絕對遞增的 ID,每次修改相符項目時都會更新。

運算子=

TurnBasedMatch & operator=(
  const TurnBasedMatch & copy_from
)

會從另一個 TurnBasedMatch 中複製此 。

運算子=

TurnBasedMatch & operator=(
  TurnBasedMatch && move_from
)

如要指派這個 TurnBasedMatch,請將其他項目移至該項目。