[UIManager 설계]
● Scene UI, Popup UI, Toast 등 다양한 형태가 혼합되어 있으며 이를 효율적으로 관리하기 위해 설계됨
■ 설계 목적
● UI 유형별 명확한 분리 (SceneUI, PopupUI, ToastUI)
● Canvas 정렬 및 스케일 통일
● Popup의 스택 기반 관리로 순차 처리
● Toast 메시지 자동 제거
● 풀링 기반 서브 아이템 생성 (성능 최적화)
■ 구조의 장점
| 기능 | 장점 |
| 책임 분리 | 각 UI 타입이 명확히 나뉘어 유지보수가 쉬움 |
| 정렬 우선순위 보장 | _order와 _toastOrder로 Canvas Sorting 관리 |
| TimeScale 동기화 | 게임 씬과 UI의 일시 정지 처리 등 동기화 |
| 풀링 지원 | MakeSubItem, ShowToast 등에서 Instantiate 대신 Pool 활용 |
| 자동 닫힘 처리 | Toast는 일정 시간 후 자동 제거 처리 |
■ UI 유형별 구조
● Scene UI
○ 게임 씬 전반을 구성하는 UI
○ 하나만 존재할 수 있음
● PopupUI
○ UI 스택으로 관리됨
○ 닫기 시 순서 보장 (Stack 기반)
● Toast UI
○ 일회성 메시지 출력
○ 코루틴으로 1초 후 자동 제거
● SubItem 생성 (풀링 지원)
○ 아이템 목록, 인벤토리 셀 등 반복적인 UI 생성 시 활용
○ Transform이 비활성화 상태일 경우 Root로 대체
● Canvas 설정 정리
○ 정렬 순서(sortingOrder)는 _order 또는 _toastOrder로 관리
○ 모든 UI에 CanvasScaler와 GraphicRaycaster 자동 설정
○ 기준 해상도: 1440x3040
'내일 배움 캠프 > TIL' 카테고리의 다른 글
| [내일 배움 캠프] 55일차 TIL (0) | 2025.06.26 |
|---|---|
| [내일 배움 캠프] 54일차 TIL (0) | 2025.06.25 |
| [내일 배움 캠프] 52일차 TIL (0) | 2025.06.23 |
| [내일 배움 캠프] 51일차 TIL (0) | 2025.06.20 |
| [내일 배움 캠프] 50일차 TIL (0) | 2025.06.19 |