|
|
-- readonly.lua
-- 用元表拦截写操作,让配置表在运行时不可修改
local function readonly(t)
return setmetatable({}, {
__index = t,
__newindex = function(_, k, _)
error("尝试修改只读表,键: " .. tostring(k), 2)
end,
__pairs = function() return pairs(t) end,
__len = function() return #t end,
})
end
-- 装备品质配置
local ITEM_QUALITY = readonly({
[1] = { name = "普通", color = "white", bonus = 0 },
[2] = { name = "精良", color = "green", bonus = 10 },
[3] = { name = "稀有", color = "blue", bonus = 25 },
[4] = { name = "史诗", color = "purple", bonus = 50 },[5] = { name = "传说", color = "orange", bonus = 100 },
})
return ITEM_QUALITY
效果:
|
|