Unity协程的回调函数

时间:2021-07-16 23:34:54

 
执行一个功能结束后再执行下一个功能
//先做的事情的协程,可以在任意的类中
public static IEnumerator ddd()
{
yield return new WaitForSeconds(0);
print("bbbb");
}

 
/// <summary>
/// 主要逻辑
/// </summary>
/// <param name="func"></param>
/// <returns></returns>
public Coroutine funcCoroutine(IEnumerator func)
{
return StartCoroutine(func);
}
//第一个参数是先做的事,第二个参数进行后做的事,放到Action中
public IEnumerator funcIEnumerator(IEnumerator func, Action callback)
{
yield return funcCoroutine(func);
callback();
}
Action eee = () =>
{
//下一步要做的事情
print("cccc");
};


/// <summary>
/// 程序中调用该回调的方法
/// </summary>
public void aaa()
{
StartCoroutine(funcIEnumerator(bbbb.ddd(), eee));
}


执行一个功能结束后再进行下一个事情