0. 개요

UI의 기초와 GAS를 이용한 게임을 제작할 때 UI와 연동하는 방법을 배운다.

언리얼에는 UI를 표현하기 위한 위젯 오브젝트(UUserWidget)가 있다.

화면에 데이터를 표시하기 위해 위젯에서 포인터와 참조를 통해 데이터에 접근하는 방법도 있겠지만, 프로젝트가 복잡해지면 코드가 읽기 어려워질 수도 있다.

이를 방지하기 위해 아래와 같은 구조를 이용한다.

 

1. 기본 구조

(1) 위젯(View)

플레이어가 게임 중 보게 되는 UI를 말한다.

일반적으로 게임 화면 상에 그려지는 플레이어의 체력바, 마나바, 스텟 숫자 등을 이야기한다.

 

(2) 모델(Model)

데이터 그 자체들을 말한다.

체력 수치, 마나 수치, 스텟 수치, 경험치 등등

 

(3) 위젯 컨트롤러(Widget Controller)

데이터를 검색하고 뷰에 전달하는 역할을 한다.

위젯을 클릭하는 등의 상호작용을 통해 모델(데이터)에 적용하는 역할을 맡는다.

 

 

3. 종속성 방지

- 단방향 종속성

UI의 세가지 요소는 한 방향으로의 종속성을 가진다.

(1) 모델은 컨트롤러나 위젯에 어떻게 보이는지 신경쓸 필요 없음

(2) 컨트롤러는 위젯의 정보를 탐색, 변경하는 역할만 함

(3) 위젯 상호작용은 컨트롤러를 통함

 

단방향 종속성을 통해 코드의 재사용성을 높일 수 있다.