Ulua_toLua_基本案例(六)_LuaCoroutine2

来源:互联网 发布:质检总局网络 编辑:程序博客网 时间:2024/06/05 22:09

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;    }}


0 0