Exemple #1
0
        internal static int VMLoader(IntPtr L)
        {
            try {
                string filename = Lua.lua_tostring(L, 1);

                // LuaEnv self = ObjectTranslatorPool.Instance.Find(L).luaEnv;
                string real_file_path = filename;
                byte[] bytes          = SGK.FileUtils.Load(ref real_file_path);
                if (bytes != null)
                {
                    if (Lua.xluaL_loadbuffer(L, bytes, bytes.Length, "@" + real_file_path) != 0)
                    {
                        Lua.lua_pushstring(L, Lua.lua_tostring(L, -1));
                        return(1);
                        // return Lua.luaL_error(L, String.Format("error loading module {0} from VMLoader, {1}",
                        //    Lua.lua_tostring(L, 1), Lua.lua_tostring(L, -1)));
                    }
                    return(1);
                }
                Lua.lua_pushstring(L, string.Format(
                                       "\n\tno such file '{0}' in VMLoader!", filename));
                return(1);
            } catch (System.Exception e) {
                return(Lua.luaL_error(L, "c# exception in LoadFromCustomLoaders:" + e));
            }
        }