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
'Unity > Unity 리서치' 카테고리의 다른 글
에셋 번들 (Asset bundle) & 어드레서블(Addressables) (0) | 2021.06.05 |
---|---|
[RTS Engine] Unit Attack 공격 딜레이 (0) | 2021.06.04 |
[RTS Engine] 유닛의 Select 범위 (0) | 2021.06.02 |
유니티 오픈소스 모음 (0) | 2021.05.30 |
리플렉션 프로브(Reflection Probe) (0) | 2021.05.30 |