Documentation index for AI agents

MoneyStore(GS2 UIKit for Unity) 샘플

GS2 UIKit for Unity 를 사용한 GS2-Money + GS2-Showcase 기능 구현 샘플 소개

과금 통화의 판매 기능을 구현합니다.

리포지토리

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

GS2-Deploy 템플릿

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

프로젝트 내용

img.png

프로젝트를 열면 위와 같은 모습이 됩니다.

img_1.png

실행하면 이와 같이 판매 중인 상품 목록이 표시됩니다.

“¥100 x100” 의 “Buy"를 클릭합니다.

img_2.png

잔고가 100이 되었습니다. Editor 에서는 표시되지 않지만, iOS 나 Android 에서 실행하면 결제 시퀀스가 개입합니다.

프로젝트 해설

img_3.png

씬의 계층 구조에 주목해 주십시오.

Canvas/MoneyStoreWindow/Wallet

과금 통화의 잔고를 표시하고 있습니다.

Money 샘플 에서 설명하고 있으니 그쪽을 참조해 주십시오.

Canvas/MoneyStoreWindow/Store

img_4.png

Gs2ShowcaseOwnShowcaseContext

이 GameObject 이하의 노드에서 다루는 GS2-Showcase 의 진열대를 지정하고 있습니다.

img_6.png img_5.png

이번에는 GS2-Showcase 의 showcase-0001 이라는 네임스페이스의 GenStore 라는 이름의 진열대를 지정하고 있습니다.

Gs2ShowcaseOwnShowcaseFetcher

Gs2ShowcaseOwnShowcaseContext 에서 지정한 진열대의 정보를 취득합니다.

Canvas/MoneyStoreWindow/Store/…/Content

img_7.png

Gs2ShowcaseOwnDisplayItemList

Gs2ShowcaseOwnShowcaseFetcher 로 취득한 진열대에 진열된 상품을 지정된 프리팹에 할당하여 생성합니다. Maximum Items 에는 프리팹을 생성할 최대 수를 지정합니다.

img_8.png

이번에는 자식 노드에 있는 DisplayItem 을 프리팹으로 지정하고 있습니다. 프리팹으로 지정된 GameObject 가 씬 안에 있는 경우, 해당 GameObject 는 비활성화되고, 그 외에 Maximum Items 로 지정된 수만큼 GameObject 가 생성됩니다.

Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem

img_10.png

Gs2ShowcaseOwnDisplayItemContext

이 GameObject 이하의 노드에서 다루는 상품을 지정하고 있습니다. 컨텍스트의 내용은 Gs2ShowcaseOwnDisplayItemList 에 의해 할당됩니다.

Gs2ShowcaseOwnDisplayItemFetcher

진열되어 있는 상품의 상세 정보를 취득합니다.

Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Icon

img_11.png

Gs2ShowcaseOwnSalesItemNameEnabler

진열되어 있는 상품의 이름을 사용하여 GameObject 의 표시·비표시를 제어합니다. 상품별로 표시할 이미지를 전환하는 데 사용하고 있습니다.

Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Price

img_12.png

Gs2MoneyDepositByUserIdFetcher

DisplayItem 의 AcquireActions 에서 Gs2MoneyDepositByUserId 를 꺼냅니다.

Gs2MoneyDepositByUserIdLabel

Gs2MoneyDepositByUserId 에 설정된 파라미터를 Format 으로 지정된 형식으로 정리합니다. 정리된 텍스트는 OnUpdate(String) 로 콜백되어, 그곳에서 Text 컴포넌트에 값을 반영합니다.

Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Count

img_12.png

Gs2MoneyDepositByUserIdFetcher

DisplayItem 의 AcquireActions 에서 Gs2MoneyDepositByUserId 를 꺼냅니다.

Gs2MoneyDepositByUserIdLabel

Gs2MoneyDepositByUserId 에 설정된 파라미터를 Format 으로 지정된 형식으로 정리합니다. 정리된 텍스트는 OnUpdate(String) 로 콜백되어, 그곳에서 Text 컴포넌트에 값을 반영합니다.

Canvas/MoneyStoreWindow/Store/…/Content/DisplayItem/Buy/Gs2ShowcaseShowcaseBuyAction

img_13.png

이 컨텍스트 메뉴에서 프리팹을 추가할 수 있습니다.

Gs2ShowcaseShowcaseBuyAction

Quantity 로 구매할 수량을 지정할 수 있습니다.

프리팹을 활성화함으로써 Gs2ShowcaseDisplayItemContext 에서 지정한 상품을 구매합니다.

Process/Gs2AutoLogin

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

Account 샘플 에서 설명하고 있으니 그쪽을 참조해 주십시오.