Модуль:Entity Sprite: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 168: | Строка 168: | ||
end | end | ||
-- Обновляем основную функцию для использования индекса | |||
function p.main(frame) | function p.main(frame) | ||
local param = frame.args[1] | local param = frame.args[1] | ||
| Строка 177: | Строка 178: | ||
end | end | ||
-- Создаём индекс путей | -- Создаём индекс путей для быстрого поиска | ||
local spritePathIndex = createSpritePathIndex(data) | local spritePathIndex = createSpritePathIndex(data) | ||
| Строка 183: | Строка 184: | ||
return generateRepeatTemplate(data) | return generateRepeatTemplate(data) | ||
elseif param == "path" and secondaryParam then | elseif param == "path" and secondaryParam then | ||
for _, entry in ipairs(data) do | -- Используем индекс для быстрого поиска | ||
local entryId = spritePathIndex[secondaryParam] | |||
if entryId then | |||
-- Находим соответствующий шаблон | |||
for _, entry in ipairs(data) do | |||
if entry.id == entryId then | |||
return generateTemplate(entry, param, secondaryParam, data, spritePathIndex) | |||
end | |||
end | end | ||
end | end | ||