Я работаю над игровым движком на C ++, используя Lua для определения NPC.
Я могу определить прототип NPC следующим образом:
orc =
{
name = "Generic Orc",
health = 100
}
function orc:onIdle()
print("Orc idles...")
end
а затем создать экземпляр "Orc" с entitySpawn (orc)
. Это функция C ++, которая считывает такие значения, как здоровье и имя из данной таблицы, создает объект Entity в C ++ с заданными значениями и, кроме того, создает Таблица Lua для конкретного NPC.
Теперь я хотел бы иметь прямую связь между переменной orc.health
в Lua и переменной-членом mHealth
соответствующего объекта Entity в C ++, чтобы я мог назначить значение в Lua и сразу использовать его в C ++ и наоборот.
Возможно ли это вообще? Или мне нужно использовать функции setter / getter? Я взглянул на легкие пользовательские данные и дошел до сохранения указателя на переменную C ++ в Lua, но не смог присвоить значение.