C++에서도 언리얼 엔진의 이벤트 디스패처 기능을 사용할 수 있다.
Switch 헤더에서 이벤트 디스패처 생성
Switch.cpp 파일에서 호출한다.
이후, 바인딩할 클래스의 헤더에서 Switch 변수와 바인딩할 함수를 생성한다.
해당 클래스의 BeginPlay에서 이벤트 디스패처를 바인딩해 주면 실행된다.
델리게이트
C++ 오브젝트 상의 멤버 함수를 가리키고 실행시키는 데이터 유형입니다.
docs.unrealengine.com
앞선 방법들과 똑같이 컴포넌트 클래스를 만들어준다.
이후 생성된 헤더파일에서 이벤트 디스패처, 변수, 함수를 생성한다.
컴포넌트 클래스의 이벤트 디스패처가 바운드되면 IsOverlap을 보낸다.
이후, MoveRect 헤더파일에서 컴포넌트 클래스의 이벤트 디스패처에 바인딩하기 위한 변수와 함수를 생성한다.
cpp 파일에서 사용한 모습
컴포넌트 클래스는 캐릭터 컴포넌트처럼 루트 컴포넌트에 붙여 사용하는 것이 아니므로 MoveRect의 생성자에서 바로 바인딩해 준다.
이처럼, C++에서 작업한 블루프린트 클래스들은 언리얼 에디터의 블루프린트 창에서도 직접 사용이 가능하다.
'UnrealC++' 카테고리의 다른 글
[C++] 언리얼 C++ SwitchTool 생성, 클래스 이름 변경 (0) | 2023.07.12 |
---|---|
[C++] 언리얼 C++ 사용 연습 (0) | 2023.07.11 |