Module:Entry/titles: Difference between revisions
Jump to navigation
Jump to search
HyperNervie (talk | contribs) (Reimplement to support ordered traversal) |
HyperNervie (talk | contribs) (Rhythm Heaven DS entries are there) |
||
| Line 14: | Line 14: | ||
console = "DS", | console = "DS", | ||
name = "Rhythm Heaven", | name = "Rhythm Heaven", | ||
stages = | stages = require("Module:Entry/titles/DS") | ||
}, | }, | ||
{ | { | ||
Revision as of 12:59, 9 August 2025
Documentation for this module may be created at Module:Entry/titles/doc
local p = {}
p.sequence = {
{
console = "GBA",
name = "Rhythm Tengoku",
stages = require("Module:Entry/titles/GBA")
},
{
console = "Arcade",
name = "Rhythm Tengoku (Arcade)",
stages = require("Module:Entry/titles/Arcade")
},
{
console = "DS",
name = "Rhythm Heaven",
stages = require("Module:Entry/titles/DS")
},
{
console = "Wii",
name = "Rhythm Heaven Fever",
stages = {}
},
{
console = "3DS",
name = "Rhythm Heaven Megamix",
stages = {}
},
{
console = "Switch",
name = "Rhythm Heaven Groove",
stages = {}
}
}
local stageEntryMT = {
__index = function(stage, n)
return stage.entries[tonumber(n)]
end
}
p.lookup = {}
for _, rh in ipairs(p.sequence) do
local stageLookup = {}
for _, stage in ipairs(rh.stages) do
stageLookup[stage.label] = stage
setmetatable(stage.entries, stageEntryMT)
end
p.lookup[rh.console] = stageLookup
end
setmetatable(p.lookup, {
__index = function(t, entry)
if type(entry) == "table" then
return t[entry.console][entry.stage].entries[entry.number]
end
end
})
return p