[유니티 C# 기초 강의] 12. 델리게이트

광부 금광캐는광부 2016.08.03 13:53

 

 

 


이 글은 PC 버전 TISTORY에 최적화 되어있습니다.

 

서론

델리게이트라는 것은 함수에 대한 참조라고 생각하면 됩니다. 하나의 델리게이트로 여러 함수들에 접근해 실행할 수 있습니다. 또한 델리게이트를 이용해 함수를 파라미터로 전달할 수 있고, 여러 함수를 한꺼번에 실행하는 체인 기능과, 어떤 상황에 도달했을 때, 이벤트를 발생시키는 델리게이트 이벤트도 제공되어집니다.

 

 

 

델리게이트 기본 사용법

델리게이트는 기본적으로 함수와 형태가 같게 만들어집니다. 아래 delegate 를 보면 참조할 AddNumbers와 SubNumbers 함수의 형태와 같은 것을 볼 수 있습니다. 그리고 참조변수와 같기 때문에 객체를 생성합니다. 괄호 안에는 참조할 함수를 넣는 것입니다.

 

 

 

 

 

 

 

 

 

 

실행하면 AddNumbers 를 참조하는 delegate에 값을 넣었기 때문에 더하기 연산을 수행합니다.

 

 

 

 

 

 

 

 

델리게이트 활용 - 함수 넘기기

Csharp 에서는 델리게이트를 이용해 함수를 넘길 수 있습니다.

 

 

위와 같이 GetAction 함수의 파라미터에는 델리게이터를 통해 함수를 참조로 넘기게 됩니다.

 

 

 

 

 

 

 

 

new Calculator(AddNumbers)로 함수의 참조 객체를 전달하여 출력된 값은 더하기 연산입니다.

 

 

 

 

 

 

 

 

 

델리게이트 활용 - 델리게이트 체인

하나의 델리게이트가 여러 함수를 참조하여 델리게이트 객체를 한번 실행함으로서 등록된 모든 함수를 같이 실행할 수 있습니다.

 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

 

 

 

위와 같이 델리게이트를 하나 만들고 += 연산을 통해 참조를 여러개 연결할 수 있습니다.

 

 

 

 

 

 

 

 

 

결과를 보면 3개의 함수가 묶여서 한번에 실행된 것을 볼 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

델리게이트 활용 - 델리게이트 이벤트

어떠한 조건이 만족되었을 때, 자동으로 함수를 호출하게 하는 델리게이트 이벤트를 사용해보도록 하겠습니다. C# 프로퍼티에 대한 이해가 요구되니, 이전 포스팅을 참조하시고 오길 바랍니다.

 

 

 

 

 

 

 큐브를 5번 클릭하면 큐브의 색이 빨강으로 변하는 예제입니다.  프로퍼티 set 접근자를 이용해서 Hp가 50 이하로 내려가면 이벤트에 연결된 함수들을 실행하는 것 입니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

5번 클릭하게 되면 상자의 색이 변하고 색상을 print 해주는 결과를 볼 수 있습니다.

 



출처: http://itmining.tistory.com/43 [IT 마이닝]

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED