Module:Entry/titles: Difference between revisions

no edit summary
No edit summary
 
Line 3: Line 3:
{
{
console = "GBA",
console = "GBA",
name = "Rhythm Tengoku",
name = "Rhythm Tengoku"
stages = require("Module:Entry/titles/GBA")
},
},
{
{
console = "Arcade",
console = "Arcade",
name = "Rhythm Tengoku (Arcade)",
name = "Rhythm Tengoku (Arcade)"
stages = require("Module:Entry/titles/Arcade")
},
},
{
{
console = "DS",
console = "DS",
name = "Rhythm Heaven",
name = "Rhythm Heaven"
stages = require("Module:Entry/titles/DS")
},
},
{
{
console = "Wii",
console = "Wii",
name = "Rhythm Heaven Fever",
name = "Rhythm Heaven Fever"
stages = require("Module:Entry/titles/Wii")
},
},
{
{
console = "3DS",
console = "3DS",
name = "Rhythm Heaven Megamix",
name = "Rhythm Heaven Megamix"
stages = {}
},
{
console = "Switch",
name = "Rhythm Heaven Groove",
stages = {}
}
}
}
}


local stageEntryMT = {
__index = function(entries, n)
return entries[tonumber(n)]
end
}
p.lookup = {}
p.lookup = {}
for _, rh in ipairs(p.sequence) do
for _, rh in ipairs(p.sequence) do
rh.stages = require("Module:Entry/titles/" .. rh.console)
local stageLookup = {}
local stageLookup = {}
for _, stage in ipairs(rh.stages) do
for _, stage in ipairs(rh.stages) do
stageLookup[stage.label] = stage
stageLookup[stage.label] = stage
setmetatable(stage.entries, stageEntryMT)
end
end
p.lookup[rh.console] = stageLookup
p.lookup[rh.console] = stageLookup
end
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
return p
420

edits