반응형
[Unreal/C++] Custom Event
언리얼 엔진에서 이벤트는 멀티캐스트 델리게이트와 매우 유사하다.
멀티캐스트 델리게이트처럼 여러 함수를 바인딩하여 동시에 실행시킬 수 있지만, 델리게이트는 외부 클래스에서 실행할 수 있는 반면 이벤트는 해당 클래스에서만 실행시킬 수 있다.
즉, public 인터페이스에 노출이 되더라도 Broadcast(), IsBound(), Clear() 함수에 대한 접근이 제한될 수 있습니다.
이벤트 선언
이벤트 바인딩
이벤트에 함수를 바인딩 하는 방법은 멀티캐스트 델리게이트의 바인딩 방법과 동일하다.
이벤트 실행
이벤트를 사용하면 여러 함수를 연결한 다음 Broadcast()함수를 호출하여 한 번에 모두 실행할 수 있다.
이벤트의 경우 Broadcast()해당 이벤트를 정의하는 클래스에서만 호출할 수 있다.
public:
/** Broadcasts whenever the layer changes */
DECLARE_EVENT( FLayerViewModel, FChangedEvent )
FChangedEvent& OnChanged() { return ChangedEvent; }
private:
/** Broadcasts whenever the layer changes */
FChangedEvent ChangedEvent;
// 이벤트 접근자는 GetXXX 패턴 대신 OnXXX 패턴을 따라야 합니다.
ChangedEvent.Add(this, &Class::Function);
반응형
'Unreal > Manual' 카테고리의 다른 글
Unreal C++ BlueprintNativeEvent, BlueprintImplementableEvent (0) | 2023.11.04 |
---|---|
Unreal C++ Dynamic Delegate (다이나믹 델리게이트) (0) | 2023.11.03 |
Unreal C++ 언리얼 Delegate 델리게이트 (0) | 2023.11.02 |
Unreal 컴파일 시 사운드 벨소리 제거 방법 (0) | 2023.11.02 |
Unreal C++ Actor의 충돌 구현 Actor BeginOverlap (0) | 2023.11.02 |