プレイヤーの残高
Use the SDK to manage player currency balances.
読み終わるまでの所要時間 3 分最終更新 21日前
PlayerBalancesGetBalancesAsync
現在のユーザーの通貨残高を取得します。任意でGetBalancesOptionsGetBalancesOptionsこれらのメソッドは// Optional, defaults to 20GetBalancesOptions options = new GetBalancesOptions{ ItemsPerFetch = 5};GetBalancesResult getBalancesResult = await EconomyService.Instance.PlayerBalances.GetBalancesAsync(options);List<PlayerBalance> firstFiveBalances = getBalancesResult.Balances;// do something with your balancesif (getBalancesResult.HasNext) { getBalancesResult = await getBalancesResult.GetNextAsync(options.ItemsPerFetch); List<PlayerBalance> nextFiveBalances = getBalancesResult.Balances; // do something with your balances}
GetBalancesResultGetBalancesOptions
GetBalancesAsync- : 整数。デフォルトは 20 です。これを使用して、呼び出しごとにフェッチする残高の最大件数を 1 から 100 の間で設定します。
ItemsPerFetch
GetBalancesResult
GetBalancesResult- : 現在フェッチされた残高が含まれる
Balances。List<PlayerBalance>
- : このメソッドは、より多くの結果を非同期でフェッチします。これには 1 つの任意のパラメーターがあり、フェッチされる結果の数を制限できます (1 から 100 を設定でき、デフォルトは 20 です)。これによって新しい結果が返され、元のアイテムと新しくフェッチされたアイテムの両方が
GetNextAsync(int itemsToFetch = 20)リストに含められます。Balances
SetBalanceAsync
指定した通貨の残高を指定値に設定します。 このメソッドには、書き込みロックの設定に使用されるSetBalancesOptionswriteLockwriteLockwriteLockstring currencyID = "GOLD_BARS";int newAmount = 1000;string writeLock = "someLockValueFromPreviousRequest";SetBalanceOptions options = new SetBalanceOptions{ WriteLock = writeLock};PlayerBalance newBalance = await EconomyService.Instance.PlayerBalances.SetBalanceAsync(currencyID, newAmount);// ORPlayerBalance otherNewBalance = await EconomyService.Instance.PlayerBalances.SetBalanceAsync(currencyID, newAmount, options);
SetBalanceOptions
SetBalanceAsync- : 文字列。デフォルトは
WriteLockです。これを使用して、楽観的コンカレンシーのための書き込みロックを設定します。書き込みロック を参照してください。null
IncrementBalanceAsync
指定値に応じて、指定した通貨の残高を増やします。 このメソッドには、書き込みロックの設定に使用されるIncrementBalancesOptionswriteLockwriteLockwriteLockstring currencyID = "GOLD_BARS";int incrementAmount = 1000;string writeLock = "someLockValueFromPreviousRequest";IncrementBalanceOptions options = new IncrementBalanceOptions{ WriteLock = writeLock};PlayerBalance newBalance = await EconomyService.Instance.PlayerBalances.IncrementBalanceAsync(currencyID, newAmount);// ORPlayerBalance otherNewBalance = await EconomyService.Instance.PlayerBalances.IncrementBalanceAsync(currencyID, newAmount, options);
IncrementBalanceOptions
IncrementBalanceAsync- : 文字列。デフォルトは
WriteLockです。これを使用して、楽観的コンカレンシーのための書き込みロックを設定します。書き込みロック を参照してください。null
DecrementBalanceAsync
指定値に応じて、指定した通貨の残高を減らします。 このメソッドには、書き込みロックの設定に使用されるDecrementBalanceOptionswriteLockwriteLockwriteLockstring currencyID = "GOLD_BARS";int decrementAmount = 1000;string writeLock = "someLockValueFromPreviousRequest";DecrementBalanceOptions options = new DecrementBalanceOptions{ WriteLock = writeLock};PlayerBalance newBalance = await EconomyService.Instance.PlayerBalances.DecrementBalanceAsync(currencyID, newAmount);// ORPlayerBalance otherNewBalance = await EconomyService.Instance.PlayerBalances.DecrementBalanceAsync(currencyID, newAmount, options);
DecrementBalanceOptions
DecrementBalanceAsync- : 文字列。デフォルトは
WriteLockです。これを使用して、楽観的コンカレンシーのための書き込みロックを設定します。書き込みロック を参照してください。null
PlayerBalance
プレイヤーの残高は、プレイヤーの 1 つの通貨残高を表します。これには以下のフィールドがあります。- : この残高が表す通貨の ID。
CurrencyId - : プレイヤーが所有するこの通貨の金額 (整数)。
Balance - :
WriteLockの現在の文字列。writeLock - : この残高が作成された日付。これは EconomyDate オブジェクトです。
Created - : この残高が変更された日付。これは EconomyDate オブジェクトです。
Modified
GetCurrencyDefinitionAsync
これは、この残高に関連付けられた通貨の通貨定義を取得するための便利なメソッドです。これは、CurrencyDefinition を返します。PlayerBalance myPlayerBalance = ... // Get a player balance from one of the above methodsCurrencyDefinition currencyDefForMyPlayerBalance = myPlayerBalance.GetCurrencyDefinitionAsync();
BalanceUpdated
このイベントをサブスクライブすると、SDK が特定の通貨の残高を更新したときに通知を受け取ることができます。サブスクライバーには、更新された残高の通貨 ID が渡されます。EconomyService.Instance.PlayerBalances.BalanceUpdated += currencyID => { Debug.Log($"The currency that was updated was {currencyID}");};