Stamina(GS2 UIKit for Unity) 샘플
스태미나 기능을 구현합니다.
리포지토리
https://github.com/gs2io/gs2-uikit-for-unity-sample/tree/main/Stamina
GS2-Deploy 템플릿
프로젝트 내용

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

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

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

스태미나를 소비하여 잔량 표시가 “45/50"이 되고, 회복까지의 카운트다운이 표시됩니다.
다음으로 “Recover(10)” 버튼을 클릭합니다.

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

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

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

이번에는 GS2-Stamina 의 stamina-0001 이라는 네임스페이스의 Stamina 라는 이름의 스태미나를 지정하고 있습니다.
Canvas/StaminaWindow/Stamina
Gs2StaminaStaminaEnabler
스태미나 로드가 끝나면 StaminaValue 를 활성화합니다.
Canvas/StaminaWindow/Stamina/StaminaValue/Slider

Gs2StaminaStaminaProgress
현재 스태미나 값의 최대값에 대한 비율을 0.0~1.0 으로 취득합니다. 최대값을 초과한 상태에서는 1.0 으로 반올림됩니다.
취득한 결과는 OnUpdate(Single) 에 전달되어, Slider 의 값에 반영됩니다.
Canvas/StaminaWindow/Stamina/StaminaValue/Slider/Label

Gs2StaminaOwnStaminaValueEnabler
스태미나가 최대값에 도달했는지에 따라 GameObject 를 활성화합니다.
Canvas/StaminaWindow/Stamina/StaminaValue/Slider/Label/NextRecoverAt

Gs2StaminaOwnStaminaNextRecoverAtFetcher
스태미나가 다음에 회복되는 일시를 취득합니다. 취득한 결과는 OnUpdate(int64) 로 콜백되어, Gs2CoreTimeSpanLabel 에 값을 반영합니다.
Gs2CoreTimeSpanLabel
스태미나가 다음에 회복될 때까지의 남은 시간을 Format 에 지정한 형식으로 정형합니다. 정형된 텍스트는 OnUpdate(String) 으로 콜백되어, 거기서부터 Text 컴포넌트에 값을 반영합니다.
Process/Gs2AutoLogin
로그인 처리를 실행하는 프리팹이 설정되어 있습니다.
Account 샘플 에서 설명하고 있으니 그쪽을 참조해 주십시오.