Ulua_toLua_基本案例(六)_LuaCoroutine2
Ulua_toLua_基本案例(六)_LuaCoroutine2
using UnityEngine; using System.Collections; using LuaInterface; public class TestCoroutine2 : MonoBehaviour { LuaState luaState = null; string script = @" function CoExample() WaitForSeconds(2) print('WaitForSeconds end time: '.. UnityEngine.Time.time) WaitForFixedUpdate() print('WaitForFixedUpdate end frameCount: '..UnityEngine.Time.frameCount) WaitForEndOfFrame() print('WaitForEndOfFrame end frameCount: '..UnityEngine.Time.frameCount) Yield(null) print('yield null end frameCount: '..UnityEngine.Time.frameCount) Yield(0) print('yield(0) end frameCime: '..UnityEngine.Time.frameCount) local www = UnityEngine.WWW('http://www.baidu.com') Yield(www) print('yield(www) end time: '.. UnityEngine.Time.time) local s = tolua.tolstring(www.bytes) print(s:sub(1, 128)) print('coroutine over') end function TestCo() print('TestCo') local co = coroutine.create(CoExample) local flag, msg = coroutine.resume(co) if not flag then error(msg) end end "; void Awake () { luaState = new LuaState(); luaState.Start(); LuaBinder.Bind(luaState); LuaCoroutine.Register(luaState, this); luaState.DoString(script); LuaFunction func = luaState.GetFunction("TestCo"); func.Call(); func.Dispose(); } void OnDestroy() { luaState.Dispose(); luaState = null; } }