본문 바로가기
Unreal/Manual

Unreal C++ Custom Event

by Dev_카페인 2023. 11. 3.
반응형

[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);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형