Модуль:Prototypes/Хранилище/Предмет: различия между версиями

Нет описания правки
мНет описания правки
Строка 136: Строка 136:


     local result = {}
     local result = {}
    local containers = item.EntityTableContainerFill and item.EntityTableContainerFill.containers or {}


     -- Ручное кэширование дочерних элементов
     -- Обработка StorageFill
     if containers.entity_storage then
     if item.StorageFill and item.StorageFill.contents then
        if containers.entity_storage.children then
        result[#result + 1] = getContentsOutput(item.StorageFill.contents)
            result[#result + 1] = processNestedSelectors(containers.entity_storage.children)
 
    -- Обработка EntityTableContainerFill
    elseif item.EntityTableContainerFill and item.EntityTableContainerFill.containers then
        local containers = item.EntityTableContainerFill.containers
 
        -- Обработка entity_storage
        if containers.entity_storage then
            if containers.entity_storage.children then
                result[#result + 1] = processNestedSelectors(containers.entity_storage.children)
            end
 
            if containers.entity_storage.tableId then
                result[#result + 1] = getTableOutput(containers.entity_storage.tableId)
            end
         end
         end
         if containers.entity_storage.tableId then
 
             result[#result + 1] = getTableOutput(containers.entity_storage.tableId)
        -- Обработка storagebase
         if containers.storagebase and containers.storagebase.tableId then
             result[#result + 1] = getTableOutput(containers.storagebase.tableId)
         end
         end
    end
    -- Обработка других контейнеров
    if containers.storagebase and containers.storagebase.tableId then
        result[#result + 1] = getTableOutput(containers.storagebase.tableId)
     end
     end