gpg::回合制匹配

#include <turn_based_match.h>

一种数据结构,包含有关 TurnBasedMatch 的当前状态的数据。

总结

构造函数和析构函数

TurnBasedMatch()
TurnBasedMatch(std::shared_ptr< const TurnBasedMatchImpl > impl)
shared_ptr 构造到 TurnBasedMatchImplTurnBasedMatch
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 纪元以来的毫秒数表示)。
Data() const
const std::vector< uint8_t > &
如果 HasData() 为 true,则返回匹配数据。
Description() const
const std::string &
返回服务器生成的匹配状态摘要。
HasData() const
bool
如果此对象具有在上一个转弯中设置的数据,则返回 true。
HasPreviousMatchData() const
bool
如果这是第一次重赛,并且来自之前 Valid 的数据必须返回 true,该函数才可用,则返回 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,该 ID 是此匹配的重匹配项(如果有)。
Status() const
返回本地参与者的匹配状态。
SuggestedNextParticipant() const
这是一个辅助函数,用于从已加入、受邀和自动匹配的参与者组中选出有效的参与者。
Valid() const
bool
如果此 TurnBasedMatch 填充了数据,则返回 true。
Variant() const
uint32_t
返回游戏专用的变体标识符,游戏可以使用该标识符来识别不同的游戏模式。
Version() const
uint32_t
严格递增的 ID,每次修改匹配时更新。
operator=(const TurnBasedMatch & copy_from)
通过从另一个实例复制来分配此 TurnBasedMatch
operator=(TurnBasedMatch && move_from)
通过将另一个TurnBasedMatch移入其中来分配此对象。

公共函数

有可用的自动匹配空档

uint32_t AutomatchingSlotsAvailable() const 

返回匹配项的可用自动匹配槽数。

此数值等于创建匹配结果的自动匹配槽数减去已通过自动匹配功能添加的参与者人数。有效必须返回 true 才能使用此函数。

创建参与者

MultiplayerParticipant CreatingParticipant() const 

返回创建此匹配的参与者。

有效必须返回 true 才能使用此函数。

创建时间

std::chrono::milliseconds CreationTime() const 

返回此 TurnBasedMatch was created 的时间(以自 Unix 纪元以来的毫秒数表示)。

有效必须返回 true 才能使用此函数。

数据

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

如果 HasData() 为 true,则返回匹配数据。

有效必须返回 true 才能使用此函数。

说明

const std::string & Description() const 

返回服务器生成的匹配状态摘要。

有效必须返回 true 才能使用此函数。

包含数据

bool HasData() const 

如果此对象具有在上一个转弯中设置的数据,则返回 true。

有效必须返回 true 才能使用此函数。

包含以前的匹配数据

bool HasPreviousMatchData() const 

如果这是第一次重赛,并且来自之前 Valid 的数据必须返回 true,该函数才可用,则返回 True。

HasRematchId

bool HasRematchId() const 

如果匹配成功,就返回 true。

ID

const std::string & Id() const 

返回用于唯一标识该 TurnBasedMatch 的 ID。

稍后与 TurnBasedMultiplayerManager::FetchMatch 配合使用以检索此匹配项。有效必须返回 true 才能使用此函数。

上次更新时间

Timestamp LastUpdateTime() const 

返回上次更新此 TurnBasedMatch 的时间(以自 Unix 纪元以来的毫秒数表示)。

有效必须返回 true 才能使用此函数。

上次更新参与者

MultiplayerParticipant LastUpdatingParticipant() const 

返回最近更新了此匹配的参与者。

有效必须返回 true 才能使用此函数。

数字

uint32_t Number() const 

一个数字,表示通过重合在匹配之前有多少匹配。

在第一次匹配时设置为 1,并在每次重新匹配时增加 1。

参与者结果

const gpg::ParticipantResults & ParticipantResults() const 

返回匹配结果。

您可以通过 TurnBasedMultiplayerManager::TakeMyTurnTurnBasedMultiplayerManager::FinishDuringMyTurn 和其他相关函数设置结果。始终使用 ParticipantResults().WithResult(...) 来创建与任何现有对象一致的新 ParticipantResults 对象。有效必须返回 true 才能使用此函数。

参与者

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

此比赛中所有参与者的矢量。

有效必须返回 true 才能使用此函数。

PendingParticipant

MultiplayerParticipant PendingParticipant() const 

返回轮到其时更新此匹配的参与者。

有效必须返回 true 才能使用此函数。

上一个匹配数据

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

上一个匹配项中的数据(如果 HasPreviousMatchData())。

仅当有效返回 true 时才能调用。

匹配 ID

const std::string & RematchId() const 

返回匹配的 ID,该 ID 是此匹配的重匹配项(如果有)。

状态

MatchStatus Status() const 

返回本地参与者的匹配状态。

状态决定可对该匹配采取哪些操作。有效必须返回 true 才能使用此函数。

建议的下一个参与者

MultiplayerParticipant SuggestedNextParticipant() const 

这是一个辅助函数,用于从已加入、受邀和自动匹配的参与者组中选出有效的参与者。

如果此函数始终用于选择下一个参与者,则播放功能将按顺序遍历所有参与者,并根据需要重复播放。仅当 Status()MatchStatus::MY_TURN 时才能调用此函数,因为只有此函数的结果得到有效使用时才可以调用。如果调用不当,此函数将返回无效参与者 (MultiplayerParticipant::Valid() == false)。

回合制对局

 TurnBasedMatch()

回合制对局

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

shared_ptr 构造到 TurnBasedMatchImplTurnBasedMatch

供 API 内部使用。

回合制对局

 TurnBasedMatch(
  const TurnBasedMatch & copy_from
)

创建现有 TurnBasedMatch 的副本。

回合制对局

 TurnBasedMatch(
  TurnBasedMatch && move_from
)

移动现有的 TurnBasedMatch

有效

bool Valid() const 

如果此 TurnBasedMatch 填充了数据,则返回 true。

必须针对 TurnBasedMatch 对象(IdCreationTime 等)上的 getter 函数返回 true 才能使用。

变体

uint32_t Variant() const 

返回游戏专用的变体标识符,游戏可以使用该标识符来识别不同的游戏模式。

有效必须返回 true 才能使用此函数。

版本

uint32_t Version() const 

严格递增的 ID,每次修改匹配时更新。

运算符=

TurnBasedMatch & operator=(
  const TurnBasedMatch & copy_from
)

通过从另一个实例复制来分配此 TurnBasedMatch

运算符=

TurnBasedMatch & operator=(
  TurnBasedMatch && move_from
)

通过将另一个TurnBasedMatch移入其中来分配此对象。