티스토리 뷰

Aura User Widget and Widget Controller

UI 시스템을 시작하기 위해 먼저 기본이 되는 C++ User Widget 클래스를 생성한다.

프로젝트 내 모든 위젯이 공통으로 사용할 기본 클래스 역할을 할 것이다.

 

다음으로 위젯을 제어하는 Controller 클래스를 만든다.

WidgetController는 데이터를 가져오고 가공해서 전달하는 역할이기에 UObject를 기반으로 생성한다.


AuraUserWidget 구현

Widget 클래스에서는 Controller 참조 변수를 추가한다.
이때 다양한 종류의 WidgetController를 수용할 수 있도록 UObject 타입으로 선언하고, 블루프린트에서는 직접 수정하지 못하도록 BlueprintReadOnly로 설정하였다.

 

이후 위젯에 컨트롤러를 연결하기 위한 설정 함수와, 컨트롤러 설정 이후 UI 초기화를 처리하기 위한 이벤트 함수를 정의한다.

설정 함수는 블루프린트에서 WidgetController를 연결할 수 있도록 BlueprintCallable로 선언하고, 초기화 이벤트는 컨트롤러 설정 이후의 UI 처리를 위젯마다 다르게 구현할 수 있도록 BlueprintImplementableEvent로 선언하였다.

<참고 흐름>
[외부 (BP / HUD / Controller)]
        ↓ 호출
SetWidgetController()   ← BlueprintCallable
        ↓
[C++]
Controller 설정
+ UI 초기화 이벤트 호출
        ↓
WidgetControllerSet()
        ↓
[Blueprint]
UI 초기화 및 갱신 처리   ← BlueprintImplementableEvent

 

 

 

마지막으로 WidgetController에서는 게임의 핵심 데이터를 가져오는 역할을 하기에, 이에 접근하기 위 핵심 객체 4가지에 대한 변수들을 선언해준다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함