- 프리팹은
ResourceHolder::LoadUI 로 미리 로드되어야 함
- 생성, 삭제 로직의 재정의가 필요하다면
MainCanvas, HUDCanvas 등을 참고하여 클래스 작성 후 교체
UI
- 중복 생성 가능
CanvasGroup.alpha 로 on/off 를 컨트롤
GameObject::SetActive 를 사용하지 않기 때문에 UI 가 꺼진 상태에서도 다른 스크립트의 Update 등이 호출되는것에 주의
- 항상 HUD 보다 위에 표시
// 클래스 정의
public class SomeUI : UIBase
// 프리팹 구조
SomeUI (SomeUI, Canvas, CanvasGroup)
|- Container (SafeArea)
|- Other Elements
// UI 생성
SomeUI ui = App.Scene.UI.Main.Show<SomeUI>();
// UI 끄기
ui.Close();
HUD
- 중복 생성 불가
GameObject::SetActive 로 on/off 를 컨트롤
- UI 보다 항상 아래에 표시
// 클래스 정의
public class SomeHUD : HUDBase<SomeHUD>
// 프리팹 구조
SomeHUD (SomeHUD, Canvas, CanvasGroup)
|- Container (SafeArea)
|- Other Elements
// HUD 생성
SomeHUD hud = Bkng.Scene.UI.HUD.Show<SomeHUD>();
// 활성화 된 HUD 반환
hud = App.Scene.UI.HUD.Get<SomeHUD>();
// HUD 끄기
hud.Close();