본문으로 바로가기
반응형

전체 ui Setting 구조

 

 

Activate에서 SubSystem에 있는 PushSoftWidgeToStackAsync 비동기 위젯 생성 및 스택 추가 함수를 호출한다.

 

주요 클래스 정리하기 

 

1. UCommonActivatableWidgetContainerBase

  • UCommonActivatableWidget 위젯을 담고 관리하는 기본 컨테이너 클래스

2. UDeveloperSettings

  • 자신만의 세팅(설정값/옵션) "ProjectSetting", "Editor Settings"를 생성하고 관리할 수 있는 클래스

3. UGameInstanceSubsystem

  • 게임 인스턴스 생명주기(게임 전반에 걸친 공유 기능 구현에 적합)
  • 특정 기능을 모듈 단위로 분리하여 관리하는 "자동 인스턴싱 및 수명 관리 클래스" 프로그래머가 직접  객체를 생성하거나 파괴하지 않아도 엔진이 알아서 생성, 초기화. 파괴해 주는 전역 관리 객체.
  • 싱글톤처럼 전역적으로 공유해야 하는 기능을 안정적이고 깔금하게 관리할 수 있다.
  • 에디터, 테스트, 파이썬 스크립트 등 다양한 환경에서 쉽게 접근 가능하다.

4. UBlueprintAsyncActionBase

  • 블루프린트 기반 비동기 작업의 기본 클래스
  • 블루프린트 비동기 작업을 만들 때 상속해서 사용함.
  • 비동기 작업을 시작하는 진입점 Activate()함수를 반드시 오버라이드 해야 함.
  • 일반적인 함수 호출과 달리, 블루프린트 내에서 "노드 실행 -> 비동기 작업 진행 -> 완료 시점 알림"을 가능함.

5. UCommonActivatableWidget

  • Common UI 플러그인에서 제공하는 "활성화/비활성화 가능한 UI 위젯"의 기본 클래스

6. UWidget_PrimaryLayout

  • UI 최상위 레이아웃 역할을 하는 기본 사용자 위젯 클래스(UCommonUserWidget 파생)
  • 여러 위젯 스택 컨테이너(UCommonActivatableWidgetContainerBase)를 담고, 각 스택에 대응하는 키(주로 FGameplayTag)로 관리
  • UI 전체 레이아웃 구조의 ‘중앙 허브’이며, 메뉴, 팝업, 모달 등 다양한 UI 그룹들의 전환과 상태 제어를 담당
반응형