Unity的StartCoroutine方法不能在静态方法中调用, 而由于某些原因在lua中需要调用C#的静态方法.
解决思路是将C#脚本写成一个单例, 将StartCoroutine方法在非静态方法中调用, 再在静态方法中调用这个非静态方法.
public IEnumerator CoroutineName()
{
//方法体
}
private void _startCrt()
{
StartCoroutine("CoroutineName");
}
public static void StartCrt()
{
Instance._startCrt();
}
在lua中调用
local MyClass= CS.UnityEngine.MyClass
MyClass.StartCrt()