Модуль:Entity Sprite: различия между версиями

мНет описания правки
мНет описания правки
Строка 13: Строка 13:
     if type(t1) ~= "table" or type(t2) ~= "table" then return false end
     if type(t1) ~= "table" or type(t2) ~= "table" then return false end


    -- Сравниваем все ключи и значения
     for k, v in pairs(t1) do
     for k, v in pairs(t1) do
         if k == "state" then
         -- Если у t2 нет этого ключа, возвращаем false
            if t2[k] ~= v then
        if t2[k] == nil then
                return false
            return false
            end
        end
         elseif not deepEqual(v, t2[k]) then
         -- Если значения различаются, возвращаем false
        if not deepEqual(v, t2[k]) then
             return false
             return false
         end
         end
     end
     end


    -- Проверяем, что у t2 нет дополнительных ключей, которых нет в t1
     for k, v in pairs(t2) do
     for k, v in pairs(t2) do
         if t1[k] == nil then
         if t1[k] == nil then