gpg::AchievementManager

#include <achievement_manager.h>

取得並設定各種成就相關資料。

摘要

公開類型

FetchAllCallback typedef
std::function< void(const FetchAllResponse &)>
定義接收 FetchAllResponse 的回呼類型。
FetchCallback typedef
std::function< void(const FetchResponse &)>
定義接收 FetchResponse 的回呼類型。
ShowAllUICallback typedef
std::function< void(const UIStatus &)>
定義接收 UIStatus 的回呼類型。

公用函式

Fetch(const std::string & achievement_id, FetchCallback callback)
void
以非同步方式載入目前登入玩家的特定關卡資料。
Fetch(DataSource data_source, const std::string & achievement_id, FetchCallback callback)
void
以非同步方式載入目前登入玩家的特定關卡資料。
FetchAll(FetchAllCallback callback)
void
以非同步方式載入目前登入玩家的所有關卡資料。
FetchAll(DataSource data_source, FetchAllCallback callback)
void
以非同步方式載入目前登入玩家的所有關卡資料。
FetchAllBlocking()
同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse
FetchAllBlocking(DataSource data_source)
同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse
FetchAllBlocking(Timeout timeout)
同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse
FetchAllBlocking(DataSource data_source, Timeout timeout)
同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse
FetchBlocking(const std::string & achievement_id)
為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse
FetchBlocking(DataSource data_source, const std::string & achievement_id)
為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse
FetchBlocking(Timeout timeout, const std::string & achievement_id)
為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse
FetchBlocking(DataSource data_source, Timeout timeout, const std::string & achievement_id)
為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse
Increment(const std::string & achievement_id)
void
按照指定的步驟數來增加關卡。
Increment(const std::string & achievement_id, uint32_t steps)
void
按照指定的步驟數來增加關卡。
Reveal(const std::string & achievement_id)
void
對目前登入的玩家顯示隱藏成就。
SetStepsAtLeast(const std::string & achievement_id, uint32_t steps)
void
設定關卡至少需完成指定步數。
ShowAllUI(ShowAllUICallback callback)
void
向使用者顯示一項 UI,可顯示所有成就的資訊。
ShowAllUI()
void
已淘汰。 偏好使用 ShowAllUI(ShowAllUICallback 回呼)。向使用者顯示 UI,可顯示所有關卡的相關資訊。UI 在所有平台上會以非同步方式顯示。
ShowAllUIBlocking()
向使用者顯示一項 UI,可顯示所有成就的資訊。
ShowAllUIBlocking(Timeout timeout)
向使用者顯示一項 UI,可顯示所有成就的資訊。
Unlock(const std::string & achievement_id)
void
為目前登入的玩家解鎖成就。

結構

gpg::AchievementManager::FetchAllResponse

保留所有成就的所有資料,以及回應狀態。

gpg::AchievementManager::FetchResponse

包含單一關卡的資料和回應狀態。

公開類型

FetchAllCallback

std::function< void(const FetchAllResponse &)> FetchAllCallback

定義接收 FetchAllResponse 的回呼類型。

此回呼類型會提供給下方的 FetchAll(*) 函式。

FetchCallback

std::function< void(const FetchResponse &)> FetchCallback

定義接收 FetchResponse 的回呼類型。

此回呼類型會提供給下方的 Fetch(*) 函式。

ShowAllUICallback

std::function< void(const UIStatus &)> ShowAllUICallback

定義接收 UIStatus 的回呼類型。

此回呼類型會提供給下方的 ShowAllUI* 函式。

公用函式

擷取

void Fetch(
  const std::string & achievement_id,
  FetchCallback callback
)

以非同步方式載入目前登入玩家的特定關卡資料。

在作業完成後呼叫提供的 FetchCallback。如未指定 data_source,此函式呼叫等同於呼叫 Fetch(DataSource data_source, const std::string& id, FetchCallback),並將 data_source 指定為 CACHE_OR_NETWORK

擷取

void Fetch(
  DataSource data_source,
  const std::string & achievement_id,
  FetchCallback callback
)

以非同步方式載入目前登入玩家的特定關卡資料。

在作業完成時呼叫提供的 FetchCallback。將 data_source 指定為 CACHE_OR_NETWORKNETWORK_ONLY

FetchAll

void FetchAll(
  FetchAllCallback callback
)

以非同步方式載入目前登入玩家的所有關卡資料。

在作業完成後呼叫提供的 FetchAllCallback。如未指定 data_source,這個函式呼叫等同於呼叫 FetchAll(DataSource data_source, FetchAllCallback),並將 data_source 指定為 CACHE_OR_NETWORK

FetchAll

void FetchAll(
  DataSource data_source,
  FetchAllCallback callback
)

以非同步方式載入目前登入玩家的所有關卡資料。

在作業完成後呼叫提供的 FetchAllCallback。將 data_source 指定為 CACHE_OR_NETWORKNETWORK_ONLY

FetchAllBlocking

FetchAllResponse FetchAllBlocking()

同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse

未指定 data_sourcetimeout,會導致這個函式呼叫等同於呼叫 FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout),並將 data_source 指定為 CACHE_OR_NETWORK,將 timeout 指定為 10 年。

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source
)

同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse

data_source 指定為 CACHE_OR_NETWORKNETWORK_ONLY。如未指定 timeout,則這個函式呼叫等同於呼叫 FetchAllBlocking FetchAllResponse(DataSource data_source, Timeout timeout) (指定的 data_source 值),並將 timeout 指定為 10 年。

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  Timeout timeout
)

同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse

timeout 指定為任意數毫秒。如未指定 data_source,這個函式呼叫等同於呼叫 FetchAllResponse FetchAllBlocking(DataSource data_source, Timeout timeout),並將 data_source 指定為 CACHE_OR_NETWORKtimeout 則將包含指定的值。

FetchAllBlocking

FetchAllResponse FetchAllBlocking(
  DataSource data_source,
  Timeout timeout
)

同步載入目前登入玩家的所有成就資料,直接傳回 FetchAllResponse

data_source 指定為 CACHE_OR_NETWORKNETWORK_ONLY。將逾時值指定為任意毫秒數。

FetchBlocking

FetchResponse FetchBlocking(
  const std::string & achievement_id
)

為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse

如未指定 data_sourcetimeout,這個函式呼叫等同於呼叫 FetchResponse FetchBlocking(DataSource data_source, Timeout timeout, const std::string& id),將 data_source 指定為 CACHE_OR_NETWORKtimeout 則指定為 10 年。

FetchBlocking

FetchResponse FetchBlocking(
  DataSource data_source,
  const std::string & achievement_id
)

為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse

data_source 指定為 CACHE_OR_NETWORKNETWORK_ONLY。如果未指定 timeout,此函式呼叫等同於呼叫 FetchResponse FetchBlocking(DataSource data_source, Timeout timeout, const std::string& id) (含指定的 data_source 值),並將 timeout 指定為 10 年。

FetchBlocking

FetchResponse FetchBlocking(
  Timeout timeout,
  const std::string & achievement_id
)

為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse

timeout 指定為任意數毫秒。如果未指定 data_source,此函式呼叫等同於呼叫 FetchResponse FetchBlocking(DataSource data_source, Timeout timeout, const std::string& id),並將 data_source 指定為 CACHE_OR_NETWORKtimeout 則包含指定值。

FetchBlocking

FetchResponse FetchBlocking(
  DataSource data_source,
  Timeout timeout,
  const std::string & achievement_id
)

為目前登入的玩家載入特定成就 (以字串 ID 識別) 的資料;直接傳回 FetchResponse

data_source 指定為 CACHE_OR_NETWORKNETWORK_ONLY。將 timeout 指定為任意數毫秒。

遞增

void Increment(
  const std::string & achievement_id
)

按照指定的步驟數來增加關卡。

如果未定義遞增量,則值會預設為 1。關卡必須是漸進式關卡。一旦關卡的步數達到上限,系統就會自動解鎖。任何後續的增加都會遭到忽略。

遞增

void Increment(
  const std::string & achievement_id,
  uint32_t steps
)

按照指定的步驟數來增加關卡。

關卡必須是漸進式關卡。只要關卡的步數至少達到上限,系統就會自動解鎖。之後將忽略任何增加的遞增量。

顯示解答

void Reveal(
  const std::string & achievement_id
)

對目前登入的玩家顯示隱藏成就。

如果已解鎖成就,則不會有任何影響。

SetStepsAtLeast

void SetStepsAtLeast(
  const std::string & achievement_id,
  uint32_t steps
)

設定關卡至少需完成指定步數。

如果關卡已有超過指定值的步驟,則呼叫此方法即可免人工管理。當關卡達到步驟數上限時,系統就會自動解開關卡,並忽略後續的異動操作。

ShowAllUI

void ShowAllUI(
  ShowAllUICallback callback
)

向使用者顯示一項 UI,可顯示所有成就的資訊。

會以非同步方式呼叫 ShowAllUICallback

ShowAllUI

void ShowAllUI()

已淘汰。 偏好使用 ShowAllUI(ShowAllUICallback 回呼)。向使用者顯示 UI,可顯示所有關卡的相關資訊。UI 在所有平台上會以非同步方式顯示。

ShowAllUIBlocking

UIStatus ShowAllUIBlocking()

向使用者顯示一項 UI,可顯示所有成就的資訊。

這個函式會同步傳回 UIStatus。如未指定 timeout,此函式呼叫等同於呼叫 ShowAllUIBlocking(Timeout timeout),並將 timeout 指定為 10 年。

ShowAllUIBlocking

UIStatus ShowAllUIBlocking(
  Timeout timeout
)

向使用者顯示一項 UI,可顯示所有成就的資訊。

這個函式會同步傳回 UIStatus。將 timeout 指定為任意數毫秒。

解鎖

void Unlock(
  const std::string & achievement_id
)

為目前登入的玩家解鎖成就。

如果關卡已隱藏,SDK 也會顯示。