/// <summary> /// 使用unity的coroutine来完成异步等待 /// </summary> /// <param name="milliseconds"></param> /// <param name="callback"></param> /// <returns></returns> System.Collections.IEnumerator MyWaitForSeconds(int milliseconds, VoidLuaFunc callback) { yield return(new WaitForSeconds((milliseconds) / 1000.0f)); callback(); }
/// <summary> /// Lua 代码通过本函数注册模块销毁时的回调 /// </summary> /// <param name="f"></param> public void RegisterCleanup(VoidLuaFunc f) { // 后来者先执行,因此把后来者插到第一位置 cleanup.Insert(0, f); }
/// <summary> /// 等待若干毫秒,然后执行回调 /// </summary> /// <param name="milliseconds">多少毫秒</param> /// <param name="callback">回调函数</param> public void WaitMilliseconds(int milliseconds, VoidLuaFunc callback) { monoBehaviour.StartCoroutine(MyWaitForSeconds(milliseconds, callback)); }