- Welcome to the Kancolle Wiki!
- If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord
Difference between revisions of "Module:ShipClass"
Jump to navigation
Jump to search
(3 intermediate revisions by 2 users not shown) | |||
Line 7: | Line 7: | ||
local function requireShipClassModule(name) | local function requireShipClassModule(name) | ||
− | local success, data = U.requireModule(name) | + | local success, data = U.requireModule('Data/ShipClass/' .. name) |
if not success then | if not success then | ||
− | success, data = U.requireModule('Data/ | + | success, data = U.requireModule('Data/Ship/' .. name) |
end | end | ||
if not success or not data.class then | if not success or not data.class then | ||
− | data = {class = {_name = name}} | + | data = {class = {_name = name, _class = true}} |
end | end | ||
return data.class | return data.class |
Latest revision as of 19:50, 10 September 2022
Documentation for this module may be created at Module:ShipClass/doc
local U = require('Module:Core')
local ShipClassData = require('Module:ShipClassData')
local ShipClass = {}
local ship_classes = {}
local function requireShipClassModule(name)
local success, data = U.requireModule('Data/ShipClass/' .. name)
if not success then
success, data = U.requireModule('Data/Ship/' .. name)
end
if not success or not data.class then
data = {class = {_name = name, _class = true}}
end
return data.class
end
function ShipClass:create(name)
if not name then
return ShipClassData()
end
if not ship_classes[name] then
ship_classes[name] = ShipClassData(requireShipClassModule(name))
end
return ship_classes[name]
end
ShipClass.__call = ShipClass.create
setmetatable(ShipClass, ShipClass)
return ShipClass