Exemplo n.º 1
0
 protected void Awake()
 {
     if (!string.IsNullOrEmpty(luaScrpitPath))
     {
         LuaEnv luaEnv = LuaBoot.luaEnv;
         //_scriptEnv = luaEnv.NewTable();
         //LuaTable meta = luaEnv.NewTable();
         //meta.Set("__index",luaEnv.Global);
         //_scriptEnv.SetMetaTable(meta);
         //meta.Dispose();
         //_scriptEnv.Set("self", this);
         string luaStr = SimpleLoader.LoadLua(luaScrpitPath);
         //	string luaStr = string.Format("require('{0}')",luaScrpitPath);
         //	Debug.Log("lua str is " + luaStr);
         _scriptEnv = null;
         object [] ret = luaEnv.DoString(luaStr, "LuaBehaviour");
         if (ret != null)
         {
             _scriptEnv = ret[0] as LuaTable;
             _scriptEnv.Set("monobehaviour", this);
             Action <LuaTable> luaAwake = _scriptEnv.Get <Action <LuaTable> >("Awake");
             _scriptEnv.Get("Start", out _luaStart);
             _scriptEnv.Get("Update", out _luaUpdate);
             _scriptEnv.Get("OnDestroy", out _luaOnDestroy);
             _scriptEnv.Get("OnEnable", out _luaOnEnable);
             _scriptEnv.Get("OnDisable", out _luaOnDisable);
             if (luaAwake != null)
             {
                 luaAwake(_scriptEnv);
             }
         }
     }
 }
Exemplo n.º 2
0
 static void InitLuaEvn()
 {
     _luaEnv.AddLoader((ref string filename) =>
     {
         string script = SimpleLoader.LoadLua(filename);
         return(System.Text.Encoding.UTF8.GetBytes(script));
     });
 }