MoneyStore(GS2 UIKit for Unity) のサンプル
課金通貨の販売機能を実装します。
リポジトリ
https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/MoneyStore
GS2-Deploy テンプレート
プロジェクト内容
プロジェクトを開くと上記の通りになります。
実行すると、こちらのように販売されている商品の一覧が表示されます。
「¥100 x100」の「Buy」をクリックします。
残高が 100 になりました。 Editor では表示されませんが、iOS や Android で実行すると決済シーケンスが挟まります。
プロジェクトの解説
シーンのヒエラルキーに注目してください。
Canvas/MoneyStoreWindow/Wallet
課金通貨の残高を表示しています。
Moneyのサンプル で解説していますので、そちらを参照ください。
Canvas/MoneyStoreWindow/Store
Gs2ShowcaseShowcaseContext
この GameObject 以下のノードで取り扱う GS2-Showcase の陳列棚を指定しています。
今回は、GS2-Showcase の showcase-0001 というネームスペースの GenStore という名前の陳列棚を指定しています。
Gs2ShowcaseShowcaseFetcher
Gs2ShowcaseShowcaseContext で指定した陳列棚の情報を取得します。
Canvas/MoneyStoreWindow/Store/…/Content
Gs2ShowcaseDisplayItemList
Gs2ShowcaseShowcaseFetcher で取得した陳列棚に陳列された商品を指定されたプレハブに割り当てて生成します。 Maximum Items にはプレハブを生成する最大数を指定します。
今回は子ノードにいる DisplayItem をプレハブとして指定しています。 フレハブとして指定された GameObject がシーン内にある場合、その GameObject は無効化され、それ以外に Maximum Items で指定された数だけ GameObject が生成されます。
Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem
Gs2ShowcaseDisplayItemContext
この GameObject 以下のノードで取り扱う商品を指定しています。 コンテキストの内容は Gs2ShowcaseDisplayItemList によって割り当てられます。
Gs2ShowcaseDisplayItemFetcher
陳列されている商品の詳細を取得します。
Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Icon
Gs2ShowcaseSalesItemNameEnabler
陳列されている商品の名前を使用して GameObject の表示・非表示を制御します。 商品によって表示する画像を切り替えるのに使用しています。
Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Price
Gs2MoneyDepositByUserIdFetcher
DisplayItem の AcquireActions から Gs2MoneyDepositByUserId を取り出します。
Gs2MoneyDepositByUserIdLabel
Gs2MoneyDepositByUserId に設定されたパラメーターを Format で指定された形式に整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。
Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Count
Gs2MoneyDepositByUserIdFetcher
DisplayItem の AcquireActions から Gs2MoneyDepositByUserId を取り出します。
Gs2MoneyDepositByUserIdLabel
Gs2MoneyDepositByUserId に設定されたパラメーターを Format で指定された形式に整形します。 整形されたテキストは OnUpdate(String) にコールバックされ、そこから Text コンポーネントに値を反映しています。
Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Buy/Gs2ShowcaseShowcaseBuyAction
こちらのコンテキストメニューよりプレハブを追加できます。
Gs2ShowcaseShowcaseBuyAction
Quantity で購入する数量を指定できます。
プレハブを有効化することで Gs2ShowcaseDisplayItemContext で指定した商品を購入します。
Process/Gs2AutoLogin
ログイン処理を実行するプレハブが設定されています。
Accountのサンプル で解説していますので、そちらを参照ください。