Money(GS2 UIKit for Unity) 샘플
과금 통화의 잔액 관리를 구현합니다.
리포지토리
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
프로젝트 내용

프로젝트를 열면 위와 같은 화면이 나타납니다.

실행하면 이처럼 과금 통화의 잔액이 표시됩니다.
먼저 “Deposit(Free)“를 클릭합니다.

잔액이 1000이 됩니다.
다음으로 “Deposit(Paid)“를 클릭합니다.

잔액이 2000이 됩니다. 내부적으로는 무상과 유상을 별도의 데이터로 취급하지만, 이 샘플에서는 총량을 표시하고 있습니다.
다음으로 “Withdraw"를 클릭합니다.

잔액이 1900이 됩니다.
프로젝트 설명

씬의 계층 구조에 주목해 주세요.
Canvas/MoneyWindow

Gs2MoneyOwnWalletContext
이 GameObject 이하의 노드에서 다루는 GS2-Money의 지갑을 지정합니다.

이번에는 GS2-Money의 money-0001이라는 네임스페이스의 슬롯 0 지갑을 지정하고 있습니다.
Canvas/MoneyWindow/Wallet/Contents/WalletValue

Gs2MoneyOwnWalletEnabler
Gs2MoneyOwnWalletContext에서 지정한 지갑의 로드가 끝나면 Value GameObject를 활성화합니다.
Canvas/MoneyWindow/Wallet/Contents/WalletValue/Value

Gs2MoneyOwnWalletLabel
Gs2MoneyOwnWalletContext에서 지정한 지갑을 Format으로 지정한 형식으로 정형화합니다. 정형화된 텍스트는 OnUpdate(String)에 콜백되며, 여기서 Text 컴포넌트에 값을 반영합니다.
Canvas/MoneyWindow/Input/Withdraw/Gs2MoneyWalletWithdrawAction

과금 통화의 잔액을 감소시킵니다.
Gs2MoneyWalletWithdrawAction
Count에 소비할 수량을 지정합니다.
OnWithdrawComplete(EzWallet)에 소비가 끝났을 때 콜백이 반환됩니다.
Canvas/MoneyWindow/Input/DepositFree

Gs2ExchangeRateModelContext
GS2-Money의 무상 통화를 가산하는 GS2-Exchange의 교환 비율을 설정합니다.

여기서는 GS2-Exchange의 exchange-0005라는 이름의 네임스페이스에 있는 Gem0to1000이라는 이름의 교환 비율을 지정하고 있습니다.
Canvas/MoneyWindow/Input/DepositFree/Gs2ExchangeExchangeExchangeAction

무상 과금 통화의 잔액을 가산합니다.
Gs2ExchangeExchangeExchangeAction
Count에 교환할 수량을 지정합니다.
Canvas/MoneyWindow/Input/DepositPaid
Gs2ExchangeRateModelContext

GS2-Money의 유상 통화를 가산하는 GS2-Exchange의 교환 비율을 설정합니다.
여기서는 GS2-Exchange의 exchange-0005라는 이름의 네임스페이스에 있는 Gem1000to1000이라는 이름의 교환 비율을 지정하고 있습니다.
Canvas/MoneyWindow/Input/DepositPaid/Gs2ExchangeExchangeExchangeAction

유상 과금 통화의 잔액을 가산합니다.
Gs2ExchangeExchangeExchangeAction
Count에 교환할 수량을 지정합니다.
Process/Gs2AutoLogin
로그인 처리를 실행하는 프리팹이 설정되어 있습니다.
Account 샘플에서 설명하고 있으니 그쪽을 참조해 주세요.