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

능력치 포인트 - 최종) (2) 블루프린트 사이드

monstro 2025. 10. 26. 20:19
728x90
반응형

- 개요

이전까지 C++로 작성한 로직을 실제 블루프린트로 사용하여 설계한다

 

1) WBP_AttributePointsRow 위젯 블루프린트

WidgetControllerSet 이벤트 추가

 

WidgetControllerSet 이벤트를 추가하여 위와 같이 로직을 구성한다

능력치의 수치를 보여주는 텍스트를 갱신하는 이벤트

BPAttributeMenuWidgetControllerAttriubutePointsChangedDelegate에 바인드한다

 

2) WBP_AttributeMenu 위젯 블루프린트

SetButtonsEnabled 함수

 

SetButtonsEnabled 함수를 추가하여 위와 같이 구성한다

능력치 포인트가 0보다 작다면, 능력치를 증가시키는 버튼을 비활성화하고 아니라면 활성화한다

 

Construct 이벤트의 세번째 시퀀스

 

세번째 시퀀스를 추가하여 하위 UI인 WBP_AttributePointsRowWidgetController를 설정한다

 

Construct 이벤트의 네번째 시퀀스

 

네번째 시퀀스를 추가하여 위와 같이 로직을 구성한다

SetButtonEnabled 함수를 호출하는 이벤트를 생성하고

AttributeMenuWidgetController의 AttributePointsChangedDelegate에 바인드한다

 

3) GE_EventBasedEffect 블루프린트

PrimaryAttribute 관련 모디파이어 추가

 

위와 같이 구성한 4개의 PrimaryAttribute에 관한 모디파이어를 추가한다

Set By Caller 방식으로 설정하여 Tag에 연결된 값을 해당 Attribute에 더한다

 

4) GA_ListenForEvent 블루프린트

EventTags 멤버변수

 

위와 같이 구성된 EventTags 멤버변수를 추가한다

 

표시한 이후의 로직을 추가

 

3)을 기반으로 한 GESpec을 생성한 이후EventTags 멤버변수를 순회하면서 로직을 진행한다

  • 순회중인 TagEvent로 전달된 Tag와 일치하는 경우
    • 순회중인 Tag와 연결된 Attribute를 수정할 GE의 모디파이어 Event로 전달한 값으로 설정
  • 순회중인 Tag가 Event로 전달된 Tag와 일치하지 않은 경우
    • 순회중인 Tag와 연결된 Attribute를 수정할 GE의 모디파이어0으로 설정
  • 순회가 끝난 후GESpec자기자신에게 적용

 

- 최종 실행 결과

 

728x90
반응형