Как создать объект lua в C++/Luabridge?
У меня есть скрипт lua, который должен действовать как игровой компонент, например так:
-- Enemy.lua
Enemy = {
health = 5,
name = "DefaultEnemyName",
onUpdate = function()
health = health - 1
end,
healEnemy = function(amount)
health = health + amount
print(health)
end
}
Я хочу иметь возможность создать новый экземпляр этой таблицы / объекта и сохранить его в C++.
В настоящее время, если я создаю lua_State и загружаю скрипт дважды, переменные разделяются в каждой таблице...
Результат будет выглядеть примерно так, если я исцелю трех разных врагов с одним очком здоровья:
Enemy1, healEnemy(): 6
Enemy2, healEnemy(): 7
Enemy3, healEnemy(): 8
Итак, мой вопрос: как мне создать тип экземпляра этой таблицы, не создавая много lua_States (что, по-видимому, плохо) в luabridge?
Заранее спасибо!
1 ответ
Решение
Я думаю, что вам нужно использовать классы Луа. Посмотрите эту ссылку Учебник по созданию объектов Lua