Class Gs2StaminaClient
-
GS2\Core\AbstractGs2Client
-
GS2\Stamina\Gs2StaminaClient
Methods summary
public
|
#
__construct( string $region, GS2\Core\Gs2Credentials $credentials, $options = [] )
コンストラクタ
Parameters
- $region
- リージョン名
- $credentials
- 認証情報
- $options
- オプション
|
public
array
|
#
describeStaminaPool( string $pageToken = NULL, integer $limit = NULL )
スタミナプールリストを取得
Parameters
- $pageToken
- ページトークン
- $limit
- 取得件数
Returns
array
- items
- array
- staminaPoolId => スタミナプールID
- ownerId => オーナーID
- name => スタミナプール名
- description => 説明文
- serviceClass => サービスクラス
- increaseInterval => スタミナの更新速度
- createAt => 作成日時
- nextPageToken => 次ページトークン
|
public
array
|
#
createStaminaPool( array $request )
スタミナプールを作成
GS2-Staminaを利用するには、まずスタミナプールを作成する必要があります。
スタミナプールには複数のユーザのスタミナ値を格納することができます。
スタミナプールの設定として、スタミナ値の回復速度を秒単位で指定できます。
この設定値を利用して、スタミナ値の回復処理を行いつつユーザごとに最新のスタミナ値を取得することができます。
スタミナプールを作成
GS2-Staminaを利用するには、まずスタミナプールを作成する必要があります。
スタミナプールには複数のユーザのスタミナ値を格納することができます。
スタミナプールの設定として、スタミナ値の回復速度を秒単位で指定できます。
この設定値を利用して、スタミナ値の回復処理を行いつつユーザごとに最新のスタミナ値を取得することができます。
Parameters
- $request
- name => スタミナプール名
- description => 説明文
- serviceClass => サービスクラス
- increaseInterval => スタミナの更新速度
Returns
array
- item
- staminaPoolId => スタミナプールID
- ownerId => オーナーID
- name => スタミナプール名
- description => 説明文
- serviceClass => サービスクラス
- increaseInterval => スタミナの更新速度
- createAt => 作成日時
|
public
array
|
|
public
array
|
#
getStaminaPool( array $request )
スタミナプールを取得
Parameters
- $request
- staminaPoolName => スタミナプール名
Returns
array
- item
- staminaPoolId => スタミナプールID
- ownerId => オーナーID
- name => スタミナプール名
- description => 説明文
- serviceClass => サービスクラス
- increaseInterval => スタミナの更新速度
- createAt => 作成日時
|
public
array
|
#
getStaminaPoolStatus( array $request )
スタミナプールの状態を取得
Parameters
- $request
- staminaPoolName => スタミナプール名
Returns
|
public
array
|
#
updateStaminaPool( array $request )
スタミナプールを更新
Parameters
- $request
- staminaPoolName => スタミナプール名
- description => 説明文
- serviceClass => サービスクラス
- increaseInterval => スタミナの更新速度
Returns
array
- item
- staminaPoolId => スタミナプールID
- ownerId => オーナーID
- name => スタミナプール名
- description => 説明文
- serviceClass => サービスクラス
- increaseInterval => スタミナの更新速度
- createAt => 作成日時
|
public
|
#
deleteStaminaPool( array $request )
スタミナプールを削除
Parameters
- $request
- staminaPoolName => スタミナプール名
|
public
array
|
#
getStamina( array $request )
スタミナ値を取得
指定したユーザの最新のスタミナ値を取得します。
回復処理などが行われた状態の値が応答されますので、そのままゲームで利用いただけます。
accessToken には GS2\Auth\Gs2AuthClient::login() でログインして取得したアクセストークンを指定してください。
Parameters
- $request
- staminaPoolName => スタミナプール名
- maxValue => スタミナ値の最大値
- accessToken => アクセストークン
Returns
array
- item
- userId => ユーザID
- value => スタミナ値
- overflow => 最大値を超えているスタミナ値
- lastUpdateAt => 更新日時
- nextIncreaseTimestamp => 次回スタミナ値が回復するタイムスタンプ(unixepoch)
|
public
array
|
#
changeStamina( array $request )
スタミナ値を増減させる
同一ユーザに対するスタミナ値の増減処理が衝突した場合は、後でリクエストを出した側の処理が失敗します。
そのため、同時に複数のデバイスを利用してゲームを遊んでいる際に、一斉にクエストを開始することで1回分のスタミナ消費で2回ゲームが遊べてしまう。
というような不正行為を防ぐことが出来るようになっています。
クエストに失敗した時に消費したスタミナ値を戻してあげる際や、スタミナ値の回復アイテムを利用した際などに
スタミナ値を増やす操作を行うことになりますが、その際に overflow に true を指定することで、スタミナ値の最大値を超える回復を行えます。
スタミナ値の上限を超えた部分は overflow フィールドに格納され、優先してそちらが消費されます。
accessToken には GS2\Auth\Gs2AuthClient::login() でログインして取得したアクセストークンを指定してください。
スタミナ値を増減させる
同一ユーザに対するスタミナ値の増減処理が衝突した場合は、後でリクエストを出した側の処理が失敗します。
そのため、同時に複数のデバイスを利用してゲームを遊んでいる際に、一斉にクエストを開始することで1回分のスタミナ消費で2回ゲームが遊べてしまう。
というような不正行為を防ぐことが出来るようになっています。
クエストに失敗した時に消費したスタミナ値を戻してあげる際や、スタミナ値の回復アイテムを利用した際などに
スタミナ値を増やす操作を行うことになりますが、その際に overflow に true を指定することで、スタミナ値の最大値を超える回復を行えます。
スタミナ値の上限を超えた部分は overflow フィールドに格納され、優先してそちらが消費されます。
accessToken には GS2\Auth\Gs2AuthClient::login() でログインして取得したアクセストークンを指定してください。
Parameters
- $request
- staminaPoolName => スタミナプール名
- variation => スタミナ値の増減量
- maxValue => スタミナ値の最大値
- overflow => スタミナ値の最大値を超えることを許容するか
- accessToken => アクセストークン
Returns
array
- item
- userId => ユーザID
- value => スタミナ値
- overflow => 最大値を超えているスタミナ値
- lastUpdateAt => 更新日時
|