언리얼 엔진 - 게임 프로젝트/GAS 프레임워크 RPG 프로젝트

RPG 게임 UI - 최종) GetGameplayAttributeValueChangeDelegate의 사용

monstro 2025. 7. 12. 03:12
728x90
반응형

- 개요

ASC로부터 제공되는 GetGameplayAttributeValueChangeDelegate 델리게이트를 사용하면

인자로 넣은 Attribute가 변경되면 바인드된 콜백 함수를 호출한다

따라서 이를 사용하여 Model의 변경을 Controller를 통해 View에 반영할 수 있다

 

1) AuraWidgetController 클래스

 

 

Model의 변경을 View에 알려주기 위한 BindCallbacksToDependencies 함수를 생성한다

해당 함수는 오버라이드한 버전으로 사용하므로 로직을 비워둔다

 

2) OverlayWidgetController 클래스

 

OverlayWidgetController에 BindCallbacksToDependencies 함수를 추가하고 오버라이드한다

 

 

구성은 위와 같다

ASC로부터 GetGameplayAttributeValueChangeDelegate 델리게이트를 가져와

Overlay 위젯에서 보여주는 Attribute들을 인자로 넣고, 람다로 작성한 콜백함수를 바인드한다

람다는 각 Attibute의 델리게이트Broadcast하는 로직으로 구성하였다

 

3) AuraHUD 클래스

 

Overlay 위젯의 Controller 오브젝트를 생성하는 GetOverlayWidgetController 함수에서

Overlay 위젯의 Controller의 BindCallbacksToDependencies 함수를 호출한다

 

- 최종 실행 결과

 

728x90
반응형