Модуль:Prototypes/Механика/Исследование: различия между версиями

Нет описания правки
мНет описания правки
Строка 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] = entity.id
machineIndex[machineName] = id -- Используем id платы как ID машины
end
end
end
end
return data
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