[C#]_유니티_델리게이트(Delegate)_callback_chain_event_EventHandler

윾띵진·2022년 6월 17일
0

게임개발

목록 보기
6/7

1. 델리게이트(Delegate)

델리게이트(Delegate)는 함수를 대신 실행해주는 대리자
델리게이틑 함수를 대신 실행해주는 역할을 하기 때문에 리턴타입과 매개변수가 꼭 동일한 함수만 대신 실행해줄 수 있다.

2. 델리게이트의 선언

public delegate 리턴타입 델리게이트명(매개변수);
public delegate void TestDel(); 	//틀
public TestDel testDel;				//인스턴스 - 함수가 들어갈 수 있는 곳
public void Process()
{
	Debug.Log("전처리")
	if(A가 처리되어야할 조건)
    	FuncA();
    else if(B가 처리되어야할 조건)
    	FuncB();
    Debug.Log("후처리");
}
public void Process()
{

}
public void FuncA()
{
	Debug.Log("A기능을 수행함");
}

public void FuncB()
{
	Debug.Log("B기능을 수행함");
}

public void FuncC(int value)
{
	Debug.Log("C기능을 수행함");
}

체인(chain)

델리게이트는 마치 구독을 했다가 구독을 취소하는 것처럼 연산자를 이용하여 넣고 뺄 수 있다.

testDel += FuncA;
testDel += FuncB;

testDel -= FuncA;
testDel -= FuncB;
testDel += () => {Debug.Log("람다식을 통한 기능추가");};
testDel += () =>
			{
            	Debug.Log("람다문을 통한");
                Debug.Log("기능추가");
            };
profile
Sprezzatura

0개의 댓글