delegate IEnumerator DelegateTest();
DelegateTest @delegateTest;
void Start()
{
@delegateTest += Mathod1;
@delegateTest += Mathod2;
@delegateTest += Mathod3;
@delegateTest += Mathod1;
StartCoroutine(@delegateTest());
}
IEnumerator Mathod1()
{
yield return new WaitForSeconds(1f);
Debug.Log("1출력");
}
IEnumerator Mathod2()
{
yield return new WaitForSeconds(1f);
Debug.Log("2출력");
}
IEnumerator Mathod3()
{
yield return new WaitForSeconds(1f);
Debug.Log("3출력");
}
대리자 공부중인데 Void 형 대리자를 선언하면 저 코드대로 하면 1,2,3,1 이 출력되는데
코루틴 형태로 선언하면 최초에 체인한 Mathod1 만 출력되서 1초 뒤에 1출력만 나옴
이거 왜그러는거야??
얘야, delegateTest += Mathod1 이 아니라 delegateTest += () => StartCoroutine(Mathod1()) 해야하는거아니니?
delegateTest가 Mathod1인 상태인데 코루틴은 invoke해도 아무일도 일어나지않는다.
delegateTest에다 Mathod1을 호출해주는 StartCoroutine(Mathod1())을 넣어야할듯
그리고 M'a'thod 아니고 M'e'thod이다 영알못을살..
헤헤 해결됫다 인붕아 고맙다 ㄷㄷ