//@@@@@@@@@@@@@@@@@@@@@@@@@@@

//Test


public class Test : MonoBehaviour {

    public IEnumerator coTaskFlow;

    public void StartTaskFlow() {

        InputEvent.OnCount -= MoveNext;

        coTaskFlow = iETaskFlow();

        MoveNext();

    }

    public void MoveNext() {

        coTaskFlow.MoveNext();

    }

    public IEnumerator iETaskFlow() {

        Debug.Log("시작");

        InputEvent.OnCount += MoveNext; yield return null;


        Debug.Log("0");

        InputEvent.OnCount += MoveNext; yield return null;


        Debug.Log("1");

        InputEvent.OnCount += MoveNext; yield return null;


        Debug.Log("2");

        InputEvent.OnCount += MoveNext; yield return null;


        Debug.Log("끝");

    }

}



//@@@@@@@@@@@@@@@@@@@@@@@@@@@

//InputEvent


public class InputEvent : MonoBehaviour {

    public delegate void EHCount();

    public static event EHCount OnCount;

    public void Count() {

        if (OnCount != null) {

            EHCount OnCountTemp = OnCount;

            OnCount = null;

            OnCountTemp();

        }

    }

}



이런조합으로 쓰면됨?

아님 다른 더 효율적인 방법 있음?