이벤트 디스패처와 델리게이트에 관한 질문
마지막 강의인 이벤트 디스패처 부분까지 수강했습니다.
좋은 강의 제공해 주셔서 감사합니다.
다름이 아니라 언리얼 엔진에서의 함수와 이벤트, 델리게이트를 제가 추상적이게나마 맞게 이해한 것인가 궁금하여 글 남겨봅니다.
1. 함수
- 함수는 기존 C나 C++언어에서와 같이 반환값, 함수명, 매개변수가 있다.
- 클래스 안의 멤버 함수(메서드)라면 접근 제어 지시자를 통해 외부에서의 접근을 제어할 수 있다.
- 함수는 호출되면 딜레이를 시킬 수 없고 즉시 모든 로직을 실행하고 적절한 값을 반환한다.
2. 이벤트
- 함수와 유사하지만 실행 과정에서 딜레이를 시킬 수 있다.
- 이벤트(함수포인터)를 델리게이트에 추가?(등록)하여 여러 이벤트들을 동시에 병렬로 실행할 수 있다.
3. 델리게이트
- 이벤트(함수)의 함수 포인터를 저장하여 관리(추가, 삭제, 호출, 등)할 수 있는 어떤 자료 구조가 있다.
- 등록된 이벤트들을 차례대로 각각 일정 시간동안 실행(병렬)한다.
- 블루프린트 클래스의 이벤트 그래프에서 생성한 이벤트들은 모두 델리게이트에 추가(등록) 되어 관리 된다.
4. 바인딩과 언바인딩
- 이벤트 디스패처에 의해 바인딩 된 이벤트는 델리게이트에 추가된다.
- 언바인딩된 이벤트는 델리게이트에서 삭제된다.
5. 마지막 수업 내용 중 이벤트와 델리게이트 부분에 대한 정리

Slimes 배열을 순회하며 각 BP_Slime 클래스의 OnArrivedEvent 커스텀 이벤트를 델리게이트에 추가(총 4개 등록)한다. -> 이게 바인딩인가?
델리게이트에 등록된 모종의 이벤트에서 내부적으로 현재 레벨에 콜리전이 있는 모든 액터들의 위치 정보를 실시간으로 확인한다.
위치가 겹치는 액터(클래스)가 있다면 해당 액터(클래스)의 ActorBeginOverlap 이벤트를 델리게이트에 추가(등록)한다.등록된 ActorBeginOverlap 이벤트 안에서 OnArrived 함수(이벤트 디스패처)를 호출한다.
OnArrived 함수(이벤트 디스패처) 안에서 바인딩 된 (델리게이트에 등록된) OnArrivedEvent 커스텀 이벤트를 호출(실행)한다.
-> 그럼 각 BP_Slime 클래스는 이벤트 디스스패처와 바인딩되어 델리게이트에 등록된 커스텀 이벤트의 함수 포인터나 호출할 수 있는 어떤 정보를 갖고 있는 것인가?
OnArrivedEvent 커스텀 이벤트(함수 포인터)를 델리게이트에서 삭제한다. -> 이게 언바인딩인가?
안녕하세요. 김용일입니다.
0
66
1
블프 에디터 사용 관련해서 질문있어요
0
102
1
질문은 아니고 강의자 님이 해당 글을 꼭 보시길 바랍니다.
0
171
1
디버깅 할 때 Keyboard event 1
0
113
1
레벨 블루프린트 제작 후 실행 시 메시지 로그- 맵체크 창 뜨는 경우
0
106
1
비교연산 관련 문제.
0
158
2
안녕하세요 구구단 관련해서요
0
126
2
재장전 관련 공부 중, 궁금한 점이 있어 질문 올립니다.
0
163
2
Beach, Sequence, flip flop강의에서 flip flop 의 다른 표현 방식이 이해가 안가요..
0
286
1
뷰포트 play 버튼 클릭시 카메라 초기화
0
394
1
이벤트 vs 함수 차이
0
562
2
포맷 텍스트 엔터
0
486
2
섹션2 흐름제어 연습문제: Min,Max,Clamp 부분 질문
0
527
2
플레이 버튼을 눌러도 Outliner에 CameraActor가 보이지 않음
0
627
1
Random Integer 질문이요
0
882
2
구조체 관련 질문
0
358
1
버블정렬 중에서 현재값에서 다음 값으로 넘어가도록 하는 부분 질문입니다.
0
471
2
로또 번호 생성기 셔플노드 제작 부분에서 질문있습니다.
0
405
1
setter에서 값을 가져다 쓰는 것과 getter에서 가져다 쓰는 것의 성능 차이
0
300
1
연습문제 Player vs Monster강의 변수생성 질문
0
477
2
키보드 이벤트에서 1키를 눌러도 아무런 반응이 없습니다.
0
518
1
블루프린트로는 연결 리스트, 이진 탐색 트리 사용이 불가능 한가요?
0
466
1
UE_LOG관련 질문이 있습니다.
0
886
1
IS valid 수업에서 제가 제대로 이해한게 맞는지 궁금합니다.
0
673
1





