public static string LuaToString(LuaState luaState, int index) { // FIXME use the same format string as lua i.e. LUA_NUMBER_FMT var t = LuaType(luaState, index); if (t == LuaTypes.Number) { return(string.Format("{0}", LuaToNumber(luaState, index))); } else if (t == LuaTypes.String) { uint strlen; // Changed 2013-05-18 by Dirk Weltz // Changed because binary chunks, which are also transfered as strings // get corrupted by conversion to strings because of the encoding. // So we use the ToString method with string length, so it could be checked, // if string is a binary chunk and if, could transfered to string without // encoding. return(LuaCore.LuaToLString(luaState, index, out strlen).ToString((int)strlen)); } else if (t == LuaTypes.Nil) { return(null); // treat lua nulls to as C# nulls } else { return("0"); // Because luaV_tostring does this } }
public static int LuaLDoFile(LuaState luaState, string fileName) { int result = LuaCore.LuaLLoadFile(luaState, fileName); if (result != 0) { return(result); } return(LuaCore.LuaPCall(luaState, 0, -1, 0)); }
public static void LuaNetPopGlobalTable(LuaState luaState) { LuaCore.LuaNetPopGlobalTable(luaState); }
public static void LuaCreateTable(LuaState luaState, int narr, int nrec) { LuaCore.LuaCreateTable(luaState, narr, nrec); }
public static int LuaLLoadBuffer(LuaState luaState, byte[] buff, string name) { return(LuaCore.LuaLLoadBuffer(luaState, buff, (uint)buff.Length, name)); }
public static void LuaLWhere(LuaState luaState, int level) { LuaCore.LuaLWhere(luaState, level); }
public static void LuaLOpenLibs(LuaState luaState) { LuaCore.LuaLOpenLibs(luaState); }
public static void LuaPushCClosure(LuaState luaState, LuaNativeFunction function, int n) { LuaCore.LuaPushCClosure(luaState, function, n); }
// Save native ansi string to C# byte array // - mouguangyi public static byte[] LuaToBytes(LuaState luaState, int index) { uint strlen; return(LuaCore.LuaToLString(luaState, index, out strlen).ToBytes((int)strlen)); }
public static int LuaNetRawNetObj(LuaState luaState, int obj) { return(LuaCore.LuaNetRawNetObj(luaState, obj)); }
public static string LuaTypeName(LuaState luaState, LuaTypes type) { return(LuaCore.LuaTypeName(luaState, (int)type).ToString()); }
public static int LuaNetToNetObject(LuaState luaState, int index) { return(LuaCore.LuaNetToNetObject(luaState, index)); }
public static void LuaNetNewUData(LuaState luaState, int val) { LuaCore.LuaNetNewUData(luaState, val); }
public static int LuaNetRegistryIndex() { return(LuaCore.LuaNetRegistryIndex()); }
public static bool LuaNetCheckMetatable(LuaState luaState, int index) { return(LuaCore.LuaNetCheckMetatable(luaState, index)); }
public static int LuaLLoadFile(LuaState luaState, string filename) { return(LuaCore.LuaLLoadFile(luaState, filename)); }
// ------------------------------------- // Export more functions // Calculate object len on stack index. // - mouguangyi public static int LuaObjLen(LuaState luaState, int index) { return(LuaCore.LuaObjLen(luaState, index)); }
public static int LuaNetCheckUData(LuaState luaState, int ud, string tname) { return(LuaCore.LuaNetCheckUData(luaState, ud, tname)); }
// Push byte[] as lstring // - mouguangyi public static void LuaPushLString(LuaState luaState, byte[] str, int size) { LuaCore.LuaPushLString(luaState, str, size); }
public static void LuaError(LuaState luaState) { LuaCore.LuaError(luaState); }
public static int LuaNetUpValueIndex(int index) { return(LuaCore.LuaNetUpValueIndex(index)); }
public static bool LuaCheckStack(LuaState luaState, int extra) { return(LuaCore.LuaCheckStack(luaState, extra) != 0); }
public static void LuaLError(LuaState luaState, string message) { LuaCore.LuaLError(luaState, message); }
public static int LuaNext(LuaState luaState, int index) { return(LuaCore.LuaNext(luaState, index)); }
public static LuaState LuaLNewState() { return(LuaCore.LuaLNewState()); }
public static object LuaLCheckUData(LuaState luaState, int stackPos, string meta) { return(LuaCore.LuaLCheckUData(luaState, stackPos, meta)); }
public static int LuaLLoadString(LuaState luaState, string chunk) { return(LuaCore.LuaLLoadString(luaState, chunk)); }
public static LuaTag LuaNetGetTag() { return(LuaCore.LuaNetGetTag()); }
public static void LuaPushLightUserData(LuaState luaState, LuaTag udata) { LuaCore.LuaPushLightUserData(luaState, udata.Tag); }
public static bool LuaLGetMetafield(LuaState luaState, int stackPos, string field) { return(LuaCore.LuaLGetMetafield(luaState, stackPos, field) != 0); }