Module:Vocalist Colors:修订间差异
来自Vocawiki
更多操作
删除的内容 添加的内容
小 // Edit via InPageEdit |
小 // Edit via InPageEdit |
||
| 第331行: | 第331行: | ||
end |
end |
||
local colorMap = {} |
|||
-- 查找数组中是否包含指定值(不区分大小写) |
|||
local nameMap = {} |
|||
local function arrayContains(array, value) |
|||
for index, entry in ipairs(colors) do |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
local mainName = entry[2] |
|||
if not colorMap[color] then |
|||
colorMap[color] = {index, mainName} |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
if not nameMap[vocalName] then |
|||
nameMap[vocalName] = {index, color} |
|||
| ⚫ | |||
end |
end |
||
end |
end |
||
return false |
|||
end |
end |
||
| 第346行: | 第357行: | ||
function module.colorToName(color, withIndex) |
function module.colorToName(color, withIndex) |
||
local data = colorMap[color] |
|||
| ⚫ | |||
if data then |
|||
return withIndex and data or data[2] |
|||
| ⚫ | |||
end |
end |
||
return defaultSinger |
return defaultSinger |
||
| 第360行: | 第370行: | ||
end |
end |
||
local data = nameMap[name] |
|||
for index, entry in ipairs(colors) do |
|||
if data then |
|||
local vocalNames = {} |
|||
return withIndex and data or data[2] |
|||
| ⚫ | |||
end |
|||
if arrayContains(vocalNames, name) then |
|||
| ⚫ | |||
return withIndex and {index, color} or color -- 返回颜色 |
|||
end |
|||
end |
end |
||
return defaultColor |
return defaultColor |
||
end |
end |
||
| 第387行: | 第392行: | ||
end |
end |
||
end |
end |
||
return module |
return module |
||