缺氧 wiki 编辑团队提示:注册账号并登录后体验更佳,且可通过参数设置定制优化您的浏览体验!
该站点为镜像站点,如果你想帮助这个由玩家志愿编辑的 wiki 站点,请前往原站点参与编辑,
同时欢迎加入编辑讨论群 851803695 与其他编辑者一起参与建设!
全站通知:
模块:技术导航
刷
历
编
跳到导航
跳到搜索
-- Module:技术导航
local p = {}
local fstr = mw.ustring.format -- shortcut for formattig a string
local getArgs = require('Module:Dev/Arguments').getArgs
local navbox = require([[Module:导航栏]])
local utils = require([[Module:Utils]])
local po = require([[Module:Po]]).po
local techDatas = mw.loadData([[Module:Data/Techs]])
function p._main()
local out = {"<span>[[技术]]</span>"}
out.collapse = "no"
local cateTechs = {}
for techId, tGroup in pairs(techDatas) do
for dlc, tData in pairs(tGroup) do
local cateogry = tData.category
if cateogry ~= nil then
if cateTechs[cateogry] == nil then
cateTechs[cateogry] = {}
end
table.insert(cateTechs[cateogry], tData)
end
end
end
local cateNames = {}
for cate, _ in pairs(cateTechs) do
table.insert(cateNames, cate)
end
table.sort(cateNames)
-- 装载项目
for _, cate in pairs(cateNames) do
local usedTechIds = {}
local tDatas = cateTechs[cate]
if tDatas ~= nil then
local names = {}
for _, tData in ipairs(tDatas) do
if usedTechIds[tData.Id] == nil then
local techName = po("STRINGS.RESEARCH.TECHS."..tData.Id:upper()..".NAME")
local name = fstr("[[技术/%s|%s]]", techName, techName)
usedTechIds[tData.Id] = true
table.insert(names, name)
end
end
if #names > 0 then
table.sort(names)
table.insert(out, po("STRINGS.RESEARCH.TREES.TITLE"..cate:upper()))
table.insert(out, table.concat(names, " ! "))
end
end
end
return out
end
-- test by: = p.main(require("Module:debug").frame({},{debug=1}))
function p.main(frame)
local args = getArgs(frame)
local out = p._main()
if args.debug then
mw.logObject(out)
end
return navbox.main(out)
end
return p