gpg:: 回合制匹配
#include <turn_based_match.h>
一种数据结构,包含有关 TurnBasedMatch
的当前状态的数据。
总结
构造函数和析构函数 |
|
---|---|
TurnBasedMatch()
|
|
TurnBasedMatch(std::shared_ptr< const TurnBasedMatchImpl > impl)
|
|
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
|
const gpg::ParticipantResults &
返回匹配结果。
|
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 才能使用此函数。
创建时间
std::chrono::milliseconds CreationTime() const
返回此 TurnBasedMatch was created
的时间(以自 Unix 纪元以来的毫秒数表示)。
有效必须返回 true 才能使用此函数。
HasRematchId
bool HasRematchId() const
如果匹配成功,就返回 true。
ID
const std::string & Id() const
返回用于唯一标识该 TurnBasedMatch
的 ID。
稍后与 TurnBasedMultiplayerManager::FetchMatch
配合使用以检索此匹配项。有效必须返回 true 才能使用此函数。
上次更新时间
Timestamp LastUpdateTime() const
返回上次更新此 TurnBasedMatch
的时间(以自 Unix 纪元以来的毫秒数表示)。
有效必须返回 true 才能使用此函数。
数字
uint32_t Number() const
一个数字,表示通过重合在匹配之前有多少匹配。
在第一次匹配时设置为 1,并在每次重新匹配时增加 1。
参与者结果
const gpg::ParticipantResults & ParticipantResults() const
返回匹配结果。
您可以通过 TurnBasedMultiplayerManager::TakeMyTurn
、TurnBasedMultiplayerManager::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 是此匹配的重匹配项(如果有)。
建议的下一个参与者
MultiplayerParticipant SuggestedNextParticipant() const
这是一个辅助函数,用于从已加入、受邀和自动匹配的参与者组中选出有效的参与者。
如果此函数始终用于选择下一个参与者,则播放功能将按顺序遍历所有参与者,并根据需要重复播放。仅当 Status() 为 MatchStatus::MY_TURN 时才能调用此函数,因为只有此函数的结果得到有效使用时才可以调用。如果调用不当,此函数将返回无效参与者 (MultiplayerParticipant::Valid() == false
)。
回合制对局
TurnBasedMatch()
回合制对局
TurnBasedMatch( std::shared_ptr< const TurnBasedMatchImpl > impl )
从 shared_ptr
构造到 TurnBasedMatchImpl
的 TurnBasedMatch
。
供 API 内部使用。
有效
bool Valid() const
如果此 TurnBasedMatch
填充了数据,则返回 true。
必须针对 TurnBasedMatch
对象(Id
、CreationTime
等)上的 getter 函数返回 true 才能使用。
版本
uint32_t Version() const
严格递增的 ID,每次修改匹配时更新。