Table of Contents

Namespace Framework.Systems.UI

Classes

DialogService

IDialogService 구현체. 확인/취소 다이얼로그는 IPopupService 를 통해 "Dialog" 팝업을 열고 UniTaskCompletionSource 로 결과를 반환하는 패턴 사용.

[실제 구현 패턴] DialogView 에서 확인/취소 버튼 클릭 시 TaskCompletionSource 를 resolve. DialogService 는 그 결과를 await 해서 반환.

LoadingService

ILoadingService 구현체. 실제 Loading UI 표시는 IUIService.ShowPopupAsync("Loading") 를 통해 처리하거나 Unity UI 오브젝트를 직접 제어하는 방식으로 Game 프로젝트에서 확장한다.

LocalizedText

언어 변경 시 TMP_Text 를 자동 갱신하는 컴포넌트. TMP_Text 와 함께 같은 GameObject 에 추가한다.

ThemeService

IThemeService 기본 구현체 (stub). uPalette 연동 시 Integration/UI/uPalette/UPaletteThemeAdapter 로 교체된다.

ToastService

IToastService 구현체. 실제 Toast UI 는 Game 프로젝트에서 UILayer.Toast 에 배치된 오브젝트로 구현한다.

UIAddressableKeys

Framework 기본 UI Addressable 키 상수. Game 프로젝트에서는 별도 키 클래스를 추가한다.

UIBinder

UI 컴포넌트 참조를 이름으로 관리하는 헬퍼. 반복 SerializeField 를 줄이고 코드 가독성을 높인다.

UIButtonStyle

Button 스타일 정의. UITheme 에서 참조한다.

UIButtonStyleBinder

Button 에 UIButtonStyle 을 적용하는 Binder. Button 과 함께 같은 GameObject 에 추가한다.

UIInputFieldStyle

TMP_InputField 스타일 정의. UITheme 에서 참조한다.

UIInputFieldStyleBinder

TMP_InputField 에 UIInputFieldStyle 을 적용하는 Binder.

UIInstaller

UI System VContainer DI 등록. LifetimeScope.Configure() 에서 UIInstaller.Install(builder) 호출.

UIScreenBase

모든 화면/팝업의 기본 클래스. IUIScreen 을 구현한다. Game 프로젝트의 View 는 이 클래스를 상속받는다.

UIService

IUIService 구현체. 서브서비스에 대한 얇은 진입점. 로직은 각 서브서비스가 담당한다.

UISoundTrigger

UI 이벤트(Click / Hover / Open / Close)에 사운드를 연결하는 컴포넌트.

UITextStyle

TMP_Text 스타일 정의. UITheme 에서 참조한다.

UITextStyleBinder

TMP_Text 에 UITextStyle 을 적용하는 Binder.

UITheme

UI 디자인 리소스 통합 에셋. 프로젝트의 모든 UI 스타일을 중앙에서 관리한다.

UIToggleStyle

Toggle 스타일 정의. UITheme 에서 참조한다.

UIToggleStyleBinder

Toggle 에 UIToggleStyle 을 적용하는 Binder.

Interfaces

IDialogService

확인/취소 다이얼로그 서비스 계약.

ILoadingService

로딩 화면 서비스 계약.

INavigationService

화면 전환 서비스 계약. UnityScreenNavigator 의 Page 기능을 추상화한다.

IPopupService

팝업(Modal) 관리 서비스 계약. UnityScreenNavigator 의 Modal 기능을 추상화한다.

IThemeService

UI 테마 전환 서비스 계약. uPalette 를 추상화한다.

IToastService

토스트 메시지 서비스 계약.

IUIScreen

UI 화면/팝업 생명주기 계약.

IUIService

UI System 최상위 진입점. 서브서비스에 대한 그룹화된 접근을 제공한다.

Enums

UIButtonStyleBinder.StyleType
UILayer

UI Canvas 하위 레이어 정의. 낮을수록 뒤에 렌더링된다.

UITextStyleBinder.TextType