Модуль:Prototypes/Механика/Исследование: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 13: | Строка 13: | ||
if entity.name and (entity.name:find("%(машинная плата%)") or entity.name:find("%(консольная плата%)")) then | if entity.name and (entity.name:find("%(машинная плата%)") or entity.name:find("%(консольная плата%)")) then | ||
local machineName = entity.name:gsub(" %(машинная плата%)", ""):gsub(" %(консольная плата%)", "") | local machineName = entity.name:gsub(" %(машинная плата%)", ""):gsub(" %(консольная плата%)", "") | ||
machineIndex[machineName] = | machineIndex[machineName] = id -- Используем id платы как ID машины | ||
end | end | ||
end | end | ||
end | end | ||
| Строка 26: | Строка 25: | ||
-- Функция для перевода ID плат в ID машин с использованием индексов | -- Функция для перевода ID плат в ID машин с использованием индексов | ||
local function translateBoardIDToMachineID(boardID) | local function translateBoardIDToMachineID(boardID) | ||
if next(boardIndex) == nil then | |||
loadData() | |||
end | |||
-- Используем индекс для быстрого поиска платы | -- Используем индекс для быстрого поиска платы | ||
local board = boardIndex[boardID] | local board = boardIndex[boardID] | ||
| Строка 34: | Строка 37: | ||
-- Проверка на машинные или консольные платы | -- Проверка на машинные или консольные платы | ||
local machineName = board.name:gsub(" %(машинная плата%)", ""):gsub(" %(консольная плата%)", "") | local machineName = board.name:gsub(" %(машинная плата%)", ""):gsub(" %(консольная плата%)", "") | ||
return machineIndex[machineName] | return machineIndex[machineName] or nil -- Возвращаем ID машины, если оно найдено | ||
end | end | ||