- Welcome to the Kancolle Wiki!
- If you have any questions regarding site content, account registration, etc., please visit the KanColle Wiki Discord
Changes
Jump to navigation
Jump to search
Line 1:
Line 1:
− +
+
− +
− _ships = {},
− _data_class = false,
− }
− self._data_class = self._data_class or require('Module:ShipData') +
Line 17:
Line 15:
− +
Line 26:
Line 24:
− +
− +
− +
− +
− self._ships[name] = {} +
− self._ships[name][model] = ship +
Line 93:
Line 91:
− end
−
− function Ship:extend(data)
− data = data or {}
− setmetatable(data, data)
− data.__index = self
− data.__call = self.__call
− return data
Undo revision 342923 by Ckwng (talk) On second thought, not needed
local BaseData = require('Module:BaseData')
local Ship = {}
local ships = {}
local Ship = BaseData{
local ShipData
function Ship:_prepareShipData()
function Ship:_prepareShipData()
ShipData = ShipData or require('Module:ShipData')
end
end
self:_prepareShipData()
self:_prepareShipData()
if name == nil then
if name == nil then
return self._data_class()
return ShipData()
end
end
if model == nil then
if model == nil then
end
end
--check if we already have it
--check if we already have it
if self._ships[name] and self._ships[name][model] then
if ships[name] and ships[name][model] then
return self._ships[name][model]
return ships[name][model]
else
else
local ship = self._data_class(self:get_table(name, model))
local ship = ShipData(self:get_table(name, model))
if not self._ships[name] then
if not ships[name] then
ships[name] = {}
end
end
ships[name][model] = ship
return ship
return ship
end
end
end
end
return mw.ustring.format('Module:%s', name)
return mw.ustring.format('Module:%s', name)
end
end