public static void SetLog(Lua lua) { if (PrintFunction == null) PrintFunction = new LuaNativeFunction(PrintWarning); LuaLib.LuaPushStdCallCFunction(lua.LuaState, PrintFunction); LuaLib.LuaSetGlobal(lua.LuaState, "log"); }
public static void SetPrint(Lua lua) { if (PrintFunction == null) PrintFunction = new LuaNativeFunction(Print); LuaLib.LuaPushStdCallCFunction(lua.LuaState, PrintFunction); LuaLib.LuaSetGlobal(lua.LuaState, "print"); }
/* * Creates a Lua function out of a native function */ public LuaFunction NewFunction(KeraLua.LuaNativeFunction nativefunc) { int oldTop = LuaLib.LuaGetTop(luaState); translator.Push(luaState, nativefunc); var func = translator.GetFunction(luaState, -1); LuaLib.LuaSetTop(luaState, oldTop); return(func); }
public static void SetReadFile(Lua lua) { if (ReadFileFunction == null) ReadFileFunction = new LuaNativeFunction(ReadFile); LuaLib.LuaGetGlobal(lua.LuaState, "io"); LuaLib.LuaPushString(lua.LuaState, "readfile"); LuaLib.LuaPushStdCallCFunction(lua.LuaState, ReadFileFunction); LuaLib.LuaSetTable(lua.LuaState, -3); LuaLib.LuaPop(lua.LuaState, 1); }
public static void SetSearcher(Lua lua) { if (SearcherUnityLuaFunction == null) SearcherUnityLuaFunction = new LuaNativeFunction(Searcher_UnityLua); LuaLib.LuaPushStdCallCFunction(lua.LuaState, SearcherUnityLuaFunction); LuaLib.LuaSetGlobal(lua.LuaState, "____SearcherUnityLuaFunction"); string str = @" if _G.____SearcherUnityLuaFunction then table.insert(package.searchers, 1, _G.____SearcherUnityLuaFunction); _G.____SearcherUnityLuaFunction = nil end"; LuaLib.LuaLDoString(lua.LuaState, str); }