Unity/Unity 리서치

UnityEvent 클래스

lipnus 2021. 6. 2. 21:08
반응형

인스펙터에는 이렇게 표시됨.

 

UnityEvent

C#의 Delegate인데 Unity용으로 만든 것.

 

MonoBehaviour를 상속받는 모든 클래스에서 사용할 수 있고, UnityEvent 변수를 선언하면 인스펙터에 표시되고 영구적 콜백을 추가할 수 있다.

 

- 영구적 콜백(Persistant Callback)인스펙터(Inspector)에서 등록해준 콜백으로, 런타임에서는 수정(등록/제거)할 수 없다.

 

- 비영구적 콜백은 코드에서 등록해준 것이며 런타임 중에 수정이 가능.

 

 

 

 

using UnityEngine;
using UnityEngine.Events;

public class UnityEventTest : MonoBehaviour
{
    public UnityEvent unityEvent;
    
    
    void Start()
    {
        // Callback 등록
        unityEvent.AddListener(TestCallback);
    }


    private void TestCallback()
    {
        Debug.Log("TestCallback");
    }


    private void OnDestroy()
    {
        // Callback 제거
        unityEvent.RemoveListener(TestCallback);
    }
}

 

 

Unity - 스크립팅 API: UnityEvent

Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. 닫기

docs.unity3d.com

https://everycommit.tistory.com/38

 

Delegate, Event (2) - UnityEvent

UnityEvent UnityEvent는 C# Delegate를 Unity에서 쓰기 좋게 랩핑해 놓은 기능이다. MonoBehaviour를 상속받는 모든 클래스에서 사용할 수 있고, UnityEvent 변수를 선언하면 인스펙터에 표시되고 영구적 콜백을..

everycommit.tistory.com

 

반응형