Money(GS2 UIKit for Unity) のサンプル

GS2 UIKit for Unity を使用した GS2-Money の機能実装サンプルの紹介

課金通貨の残高管理を実装します。

リポジトリ

https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Money

GS2-Deploy テンプレート

https://github.com/gs2io/gs2-uikit-for-unity-sample/blob/main/Money/initialize_money_template.yaml

プロジェクト内容

img_13.png

プロジェクトを開くと上記の通りになります。

img_14.png

実行すると、このように課金通貨の残高が表示されます。

まずは「Deposit(Free)」をクリックします。

img_15.png

残高が 1000 になります。

次に「Deposit(Paid)」をクリックします。

img_16.png

残高が 2000 になります。 内部的には無償と有償で別のデータとして扱いますが、このサンプルでは総量を表示しています。

次は「Withdraw」をクリックします。

img_17.png

残高が 1900 になります。

プロジェクトの解説

img_12.png

シーンのヒエラルキーに注目してください。

Canvas/MoneyWindow

img.png

Gs2MoneyOwnWalletContext

この GameObject 以下のノードで取り扱う GS2-Money のウォレットを指定しています。

img_2.png img_1.png

今回は、GS2-Money の money-0001 というネームスペースの スロット 0 ウォレットを指定しています。

Canvas/MoneyWindow/Wallet/Contents/WalletValue

img_3.png

Gs2MoneyOwnWalletEnabler

Gs2MoneyOwnWalletContext で指定したウォレットのロードが終わると Value GameObject を有効化します。

Canvas/MoneyWindow/Wallet/Contents/WalletValue/Value

img_4.png

Gs2MoneyOwnWalletLabel

Gs2MoneyOwnWalletContext で指定したウォレットを Format で指定した形式で整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。

Canvas/MoneyWindow/Input/Withdraw/Gs2MoneyWalletWithdrawAction

img_5.png

課金通貨の残高を減らします。

Gs2MoneyWalletWithdrawAction

Count に消費する数量を指定します。

OnWithdrawComplete(EzWallet) に消費が終わった時にコールバックが返されます。

Canvas/MoneyWindow/Input/DepositFree

img_7.png

Gs2ExchangeRateModelContext

GS2-Money の無償通貨を加算する GS2-Exchange の交換レートを設定します。

img_9.png img_8.png

ここでは、GS2-Exchange の exchange-0005 という名前のネームスペース の Gem0to1000 という名前の交換レートを指定しています。

Canvas/MoneyWindow/Input/DepositFree/Gs2ExchangeExchangeExchangeAction

img_6.png

無償課金通貨の残高を加算します。

Gs2ExchangeExchangeExchangeAction

Count に交換する数量を指定します。

Canvas/MoneyWindow/Input/DepositPaid

Gs2ExchangeRateModelContext

img_10.png

GS2-Money の有償通貨を加算する GS2-Exchange の交換レートを設定します。

ここでは、GS2-Exchange の exchange-0005 という名前のネームスペース の Gem1000to1000 という名前の交換レートを指定しています。

Canvas/MoneyWindow/Input/DepositPaid/Gs2ExchangeExchangeExchangeAction

img_11.png

有償課金通貨の残高を加算します。

Gs2ExchangeExchangeExchangeAction

Count に交換する数量を指定します。

Process/Gs2AutoLogin

ログイン処理を実行するプレハブが設定されています。

Accountのサンプル で解説していますので、そちらを参照ください。