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
- UILayer
UI Canvas 하위 레이어 정의. 낮을수록 뒤에 렌더링된다.