1. 程式人生 > >Unity協程的回撥函式

Unity協程的回撥函式

執行一個功能結束後再執行下一個功能
//先做的事情的協程,可以在任意的類中
    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));
    }


執行一個功能結束後再進行下一個事情