Delegate2 2024.05.21 TIL - UnityAction, UnityEvent, delegate, event 차이 Delegate, Event델리게이트는 함수를 매개변수로 사용한다.그래서 이벤트랑 세트로 다닌다.왜냐하면! public void SetGoldEvent(SetGold action) { setGold += action; setGold.Invoke(gold); }`+=`로 매개변수로 넘어온 함수를 체인으로 구독하기 때문이다.쉽게 이해해보자면 setGold라는 이벤트가 발생할 때마다 action이 실행된다. 예를 들어서 플레이어가 데미지를 입을 때마다 체력이 깍이는 액션, 체력UI 반영하는 액션 등등 여러가지 일들을 처리해야한다. 그때마다 `Update`에서 확인하면 비용이 크다.. `Delegate`와 `Event`의 사용법은 아래와 같다. public dele.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 22. 2024.05.10 TIL - event, Action, Func, Delegate public event Action OnMoveEvent; // Action은 무조건 void만 반환해야 아니면 Func강의 내용중에 "Action은 무조건 void만 반환해야 아니면 Func" 이라고 주석을 달아주시는데 개인적으로 찾아봤다. 일단 `event`는 일반적으로 `Delegate`를 통해 정의된다.이벤트를 발생시키는 클래스는 해당 델리게이트를 이용하여 이벤트를 호출한다. Delegate란?델리게이트(대리자)는 메서드에 대한 참조를 담는 형식이다. 즉, 메서드를 대신 호출할 수 있는 객체이다.메서드를 '대신' 호출하니까 대리자라고 불리는 것 같다. 그래서! `event`와 같이 사용되는 델리게이트에는 `Action` `Func`가 있다.둘의 차이는 `Action`은 반환값이 없는 메소드를 호출.. 스파르타 게임개발종합반(Unity)/TIL - 본캠프 매일 공부 기록 2024. 5. 10. 이전 1 다음 반응형