SoUI 0.5版本占坑
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
946 B

3 years ago
local string_lower = string.lower
local pairs = pairs
local w2l
local force_slk
local default
local function add_obj(type, name, level_key, obj)
local new_obj = {}
for key, value in pairs(obj) do
new_obj[string_lower(key)] = value
end
new_obj._id = name
new_obj._max_level = obj[level_key]
new_obj._type = type
new_obj._obj = true
if not default or not default[new_obj._parent] then
force_slk = true
end
return new_obj
end
return function (w2l_, type, buf)
w2l = w2l_
default = w2l:get_default()[type]
local lni = w2l:parse_lni(buf)
local metadata = w2l:metadata()[type]
local level_key = w2l.info.key.max_level[type]
if level_key then
level_key = metadata[level_key].field
end
local data = {}
force_slk = false
for name, obj in pairs(lni) do
data[name] = add_obj(type, name, level_key, obj)
end
return data, force_slk
end