Unity C# 델리게이트 Delegate
Intro
C# 델리게이트
델리게이트
델리게이트는 대리자
로써 함수를 대신 호출해주는 역할을 한다.
델리게이트 사용
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Delegate : MonoBehaviour
{
delegate int Calculator(int num1, int num2);
int Add(int num1,int num2)
{
return num1 + num2;
}
void Start()
{
Calculator cal = new Calculator(Add);
print(cal(10, 20));
}
}
Add 함수를 Calculator 델리게이트가 대신 호출해주는것을 확인할 수 있다.
델리게이트 체인
하나의 델리게이트는 여러개의 함수를 한번에 실행 할수있다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DelegateChain : MonoBehaviour
{
public delegate void DelegatePrint();
DelegatePrint printDelegate;
public void PrintName()
{
print("John");
}
public void PrintAge()
{
print("15");
}
void Start()
{
printDelegate += PrintAge;
printDelegate += PrintName;
printDelegate();
}
}
여러개의 함수가 델리게이트 호출 한번으로 같이실행되는것을 확인
함수를 델리게이트에서 제거하려면 -=
를 사용한다.
참고자료
https://youtu.be/m9_D0DQ4SGU?list=PLUZ5gNInsv_O7XRpaNQIC9D5uhMZmTYAf
댓글남기기