Xlua 使用Unity协程

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))

猜你喜欢

转载自blog.csdn.net/weixin_43796392/article/details/121222493