Код: Выделить всё
mission =
{
["coalition"] =
{
["blue"] =
{
["bullseye"] =
{
["y"] = -378451.53125,
["x"] = -178644.117188,
}, -- end of ["bullseye"]
["country"] =
{
[1] =
{
["plane"] =
{
["group"] =
{
[1] =
{
["hiddenOnPlanner"] = false,
["tasks"] = {},
["radioSet"] = false,
["task"] = "AFAC",
["uncontrolled"] = false,
["hiddenOnMFD"] = false,
["taskSelected"] = true,
["route"] =
{..............
Код: Выделить всё
private void button29_Click_1(object sender, EventArgs e)
{
Lua lua = new Lua();
string s = File.ReadAllText("C:\\Users\\username\\Desktop\\mission");
lua.DoString(s);
var res = lua["mission.coalition.blue.country"];
var bluePlanes = lua["mission.coalition.blue.country.1"];
LuaTable tb = (LuaTable)res;
Dictionary dict = lua.GetTableDict(tb);
Console.WriteLine("First chunk of code:");
foreach (KeyValuePair de in dict)
{
Console.WriteLine("{0} {1}", de.Key.ToString(), de.Value.ToString());
}
tb = (LuaTable)bluePlanes ;
dict = lua.GetTableDict(tb);
Console.WriteLine("Second chunk of code:");
foreach (KeyValuePair de in dict)
{
Console.WriteLine("{0} {1}", de.Key.ToString(), de.Value.ToString());
}
}
Это вывод консоли:
Код: Выделить всё
First chunk of code:
1 table
Exception thrown: 'System.ArgumentNullException' in NLua.dll
Value cannot be null.
Кроме того, я думал преобразовать таблицу в JSON и использовать класс C#, но мне не удалось сделать это из C# (пробовал использовать NLua для запуска сценария на Lua который преобразует таблицу в JSON, но безуспешно, так как мне не удалось сослаться на необходимые библиотеки Lua)
Подробнее здесь: https://stackoverflow.com/questions/790 ... table-in-c
Мобильная версия