Господа товарищи
Прошу поделиться мыслями.
function BindTriggerToObject(object, handler)
Trigger(OBJECT_TOUCH_TRIGGER, object, handler)
end
RPGEngine.Init = function()
for i, player in players do
for j, object in player.RPG.BUILDINGS do
local handler = 'EnterBuilding('..player.key..", "..'"'..object.key..'")'
BindTriggerToObject(object.name, handler)
end
end
end
player - это таблица, которую надо параметром передать в хэндлер. Хэндлер object_touch триггера передается сейчас строкой (как в примере).
То есть.
Для неких глобальных таблиц добавляется поле со строкой куда помещается дословно имя таблицы и уже оно подставляется в хэндлер (т.е. для таблицы player1 = {key='player1'})
Но таблиц поменьше довольно много и для каждой писать ключ довольно геморно. Оборачивание хэндлера в анонимную функцию лишено смысла - замыкания не поддерживаются тут, локальная функция не имеет доступа к внешнему окружению.
Если кто-то шарит за это, отпишитесь.