xlua开启和关闭协程和Untiy中使用一致
协程开启传入函数时候需要使用util=require(“xlua.util”) xlua工具表
lua不能使用yield rerurn
lua的coroutinue.yield(返回值) 和yield return 作用一样
实例:
--xlua工具表
util=require("xlua.util")
Wait=CS.UnityEngine.WaitForSeconds
local obj=CS.UnityEngine.GameObject("Coroutine")
local mono=obj:AddComponent(typeof("Unity脚本"));
fun =function()
local a=1
while true do
--lua无法直接使用 C# yield return
coroutine.yield(Wait(1))-- 等待1秒
print(a)
a=a+1
if a>10 then
mono:StopCoroutine(coro)--关闭
end
end
end
--lua使用Untiy协程 开启
coro=mono:StartCoroutine(util.cs_generator(fun))