Documentation index for AI agents

Stamina(GS2 UIKit for Unity) 샘플

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

스태미나 기능을 구현합니다.

리포지토리

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

GS2-Deploy 템플릿

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

프로젝트 내용

img.png

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

img_1.png

실행하면 이처럼 스태미나의 잔량과 스태미나 조작 UI가 표시됩니다.

img_2.png

먼저 “Consume(5)” 버튼을 클릭합니다.

img_3.png

스태미나를 소비하여 잔량 표시가 “45/50"이 되고, 회복까지의 카운트다운이 표시됩니다.

다음으로 “Recover(10)” 버튼을 클릭합니다.

img_4.png

스태미나 잔량이 “55/50"이 됩니다. 최대값을 초과한 상태가 되었으므로, 다시 카운트다운은 표시되지 않게 됩니다.

프로젝트 해설

img_5.png

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

Canvas/StaminaWindow

img_6.png

Gs2StaminaOwnStaminaContext

이 GameObject 이하의 노드에서 다루는 GS2-Stamina 의 스태미나를 지정하고 있습니다.

img_8.png img_7.png

이번에는 GS2-Stamina 의 stamina-0001 이라는 네임스페이스의 Stamina 라는 이름의 스태미나를 지정하고 있습니다.

Canvas/StaminaWindow/Stamina

Gs2StaminaStaminaEnabler

스태미나 로드가 끝나면 StaminaValue 를 활성화합니다.

Canvas/StaminaWindow/Stamina/StaminaValue/Slider

img_9.png

Gs2StaminaStaminaProgress

현재 스태미나 값의 최대값에 대한 비율을 0.0~1.0 으로 취득합니다. 최대값을 초과한 상태에서는 1.0 으로 반올림됩니다.

취득한 결과는 OnUpdate(Single) 에 전달되어, Slider 의 값에 반영됩니다.

Canvas/StaminaWindow/Stamina/StaminaValue/Slider/Label

img_10.png

Gs2StaminaOwnStaminaValueEnabler

스태미나가 최대값에 도달했는지에 따라 GameObject 를 활성화합니다.

Canvas/StaminaWindow/Stamina/StaminaValue/Slider/Label/NextRecoverAt

img_11.png

Gs2StaminaOwnStaminaNextRecoverAtFetcher

스태미나가 다음에 회복되는 일시를 취득합니다. 취득한 결과는 OnUpdate(int64) 로 콜백되어, Gs2CoreTimeSpanLabel 에 값을 반영합니다.

Gs2CoreTimeSpanLabel

스태미나가 다음에 회복될 때까지의 남은 시간을 Format 에 지정한 형식으로 정형합니다. 정형된 텍스트는 OnUpdate(String) 으로 콜백되어, 거기서부터 Text 컴포넌트에 값을 반영합니다.

Process/Gs2AutoLogin

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

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