Estoy trabajando en un motor de juego en C++ usando Lua para definir NPC.¿Cómo mapear directamente una variable de Lua a una variable de C++?
puedo definir un NPC prototípico de esta manera:
orc =
{
name = "Generic Orc",
health = 100
}
function orc:onIdle()
print("Orc idles...")
end
y luego generar una instancia de "Orc" con entitySpawn(orc)
. Esta es una función de C++ que lee valores como salud y nombre de la tabla dada, crea un objeto Entity en C++ con los valores dados y además crea una tabla Lua para el NPC específico.
Ahora, me gustaría tener una conexión directa entre la variable orc.health
en Lua y la variable mHealth
miembro del objeto Entity correspondiente en C++, por lo que podría asignar un valor en Lua y al instante utilizarlo en C++ y viceversa .
¿Esto es posible? ¿O tengo que hacer uso de las funciones setter/getter? He echado un vistazo a userdata light y llegué al punto de almacenar un puntero a la variable C++ en Lua, pero no pude asignar un valor.
¡Gracias, eso es lo que necesito! Parece que mi investigación fue en la dirección completamente equivocada :) – Daerst