사용법Ui
UI 시스템 — 개요
AchEngine UI System은 레이어 기반 UI 관리 시스템입니다.
UIViewCatalog에 등록된 View를 ID 또는 타입으로 Show/Close할 수 있으며,
Object Pool, 트랜지션 애니메이션, Single Instance 모드를 내장합니다.
핵심 구성 요소
| 클래스 | 역할 |
|---|---|
UIRoot | 모든 레이어의 루트 Canvas 관리자 |
UIBootstrapper | 씬 시작 시 UI 시스템 초기화 |
IUIService / UI | View 표시·숨기기 파사드 |
UIView | 모든 View의 기본 클래스 |
UIViewCatalog | View 프리팹 등록 ScriptableObject |
UIViewPool | View 인스턴스 재사용 풀 |
레이어 구조
block-beta
columns 1
tooltip["🔔 Tooltip        SortingOrder: 40<br/>툴팁, 알림"]
overlay["⬛ Overlay        SortingOrder: 30<br/>전체화면 오버레이, 로딩"]
popup["💬 Popup         SortingOrder: 20<br/>팝업, 다이얼로그"]
screen["🖥 Screen         SortingOrder: 10<br/>기본 화면, 메인 UI"]
bg["🌄 Background       SortingOrder: 0<br/>배경 화면, 배경 애니메이션"]
style tooltip fill:#1a1a3a,stroke:#8b5cf6,color:#c4b5fd
style overlay fill:#1a2a3a,stroke:#f59e0b,color:#fcd34d
style popup fill:#1a3a2a,stroke:#10b981,color:#6ee7b7
style screen fill:#1e3a5f,stroke:#3b82f6,color:#93c5fd
style bg fill:#162032,stroke:#64748b,color:#94a3b8View 열기 / 닫기
var ui = ServiceLocator.Resolve<IUIService>();
// ── 열기 ──────────────────────────────────────────────
ui.Show("MainMenu"); // 문자열 ID
ui.Show<MainMenuView>("MainMenu"); // 타입 + ID (타입 캐스팅 결과 반환)
ui.Show("ItemDetail", new ItemPayload(item)); // ID + 페이로드
// ── 닫기 ──────────────────────────────────────────────
ui.Close("MainMenu"); // ID
ui.CloseTopmost(); // 가장 위의 View 닫기
ui.CloseAll(); // 전체