以下代码来自xLua demo
using UnityEngine;
using XLua;
using System.Collections.Generic;
using System.Collections;
using System;
//打上[LuaCallCSharp]标签可使Lua代码能使用Coroutine_Runner类
//该方式方便,但在il2cpp下会增加不少的代码量,不建议使用。
[LuaCallCSharp]
public class Coroutine_Runner : MonoBehaviour
{
public void YieldAndCallback(object to_yield, Action callback)
{
StartCoroutine(CoBody(to_yield, callback));
}
private IEnumerator CoBody(object to_yield, Action callback)
{
if (to_yield is IEnumerator)
yield return StartCoroutine((IEnumerator)to_yield);
else
yield return to_yield;
callback();
}
}