> For the complete documentation index, see [llms.txt](/llms.txt)

# 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_13.png)

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

![img_14.png](img_14.png)

실행하면 이처럼 과금 통화의 잔액이 표시됩니다.

먼저 "Deposit(Free)"를 클릭합니다.

![img_15.png](img_15.png)

잔액이 1000이 됩니다.

다음으로 "Deposit(Paid)"를 클릭합니다.

![img_16.png](img_16.png)

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

다음으로 "Withdraw"를 클릭합니다.

![img_17.png](img_17.png)

잔액이 1900이 됩니다.

## 프로젝트 설명

![img_12.png](img_12.png)

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

### Canvas/MoneyWindow

![img.png](img.png)

**Gs2MoneyOwnWalletContext**

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

![img_2.png](img_2.png)
![img_1.png](img_1.png)

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

### Canvas/MoneyWindow/Wallet/Contents/WalletValue

![img_3.png](img_3.png)

**Gs2MoneyOwnWalletEnabler**

Gs2MoneyOwnWalletContext에서 지정한 지갑의 로드가 끝나면 Value GameObject를 활성화합니다.

### Canvas/MoneyWindow/Wallet/Contents/WalletValue/Value

![img_4.png](img_4.png)

**Gs2MoneyOwnWalletLabel**

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

### Canvas/MoneyWindow/Input/Withdraw/Gs2MoneyWalletWithdrawAction

![img_5.png](img_5.png)

과금 통화의 잔액을 감소시킵니다.

**Gs2MoneyWalletWithdrawAction**

Count에 소비할 수량을 지정합니다.

OnWithdrawComplete(EzWallet)에 소비가 끝났을 때 콜백이 반환됩니다.

### Canvas/MoneyWindow/Input/DepositFree

![img_7.png](img_7.png)

**Gs2ExchangeRateModelContext**

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

![img_9.png](img_9.png)
![img_8.png](img_8.png)

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

### Canvas/MoneyWindow/Input/DepositFree/Gs2ExchangeExchangeExchangeAction

![img_6.png](img_6.png)

무상 과금 통화의 잔액을 가산합니다.

**Gs2ExchangeExchangeExchangeAction**

Count에 교환할 수량을 지정합니다.

### Canvas/MoneyWindow/Input/DepositPaid

**Gs2ExchangeRateModelContext**

![img_10.png](img_10.png)

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

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

### Canvas/MoneyWindow/Input/DepositPaid/Gs2ExchangeExchangeExchangeAction

![img_11.png](img_11.png)

유상 과금 통화의 잔액을 가산합니다.

**Gs2ExchangeExchangeExchangeAction**

Count에 교환할 수량을 지정합니다.

### Process/Gs2AutoLogin

로그인 처리를 실행하는 프리팹이 설정되어 있습니다.

[Account 샘플]()에서 설명하고 있으니 그쪽을 참조해 주세요.




