- 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:ShipClassData"
Jump to navigation
Jump to search
m |
|||
Line 26: | Line 26: | ||
function ShipClassData:name_override() | function ShipClassData:name_override() | ||
local result = {} | local result = {} | ||
+ | local errors = {} | ||
if self._prefix then | if self._prefix then | ||
− | table.insert( | + | if type(self._prefix) == 'string' then |
− | + | table.insert(result, self._prefix) | |
− | + | else | |
− | table.insert(result, | + | table.insert(errors, '_prefix ' .. type(self._prefix)) |
+ | end | ||
+ | end | ||
+ | local name = self._name_override or self:base_name() | ||
+ | if name then | ||
+ | if type(name) == 'string' then | ||
+ | table.insert(result, name) | ||
+ | else | ||
+ | table.insert(errors, 'name ' .. type(name)) | ||
+ | end | ||
end | end | ||
if self._suffix then | if self._suffix then | ||
− | table.insert( | + | if type(self._suffix) == 'string' then |
+ | table.insert(result, self._suffix) | ||
+ | else | ||
+ | table.insert(errors, '_suffix ' .. type(self._suffix)) | ||
+ | end | ||
end | end | ||
− | return table.concat(result, " ") | + | return table.concat(result, " "), table.concat(errors, ", ") |
end | end | ||
Revision as of 19:46, 28 August 2018
Documentation for this module may be created at Module:ShipClassData/doc
local BaseData = require("Module:BaseData")
local ShipClassData = BaseData{
_class_suffix = "Class",
}
function ShipClassData:base_name()
return self._name
end
function ShipClassData:short_base_name()
return self._short_name or self:base_name()
end
function ShipClassData:name()
local result = {}
if self._prefix then
table.insert(result, self._prefix)
end
table.insert(result, self:base_name())
if self._suffix then
table.insert(result, self._suffix)
end
return table.concat(result, " ")
end
function ShipClassData:name_override()
local result = {}
local errors = {}
if self._prefix then
if type(self._prefix) == 'string' then
table.insert(result, self._prefix)
else
table.insert(errors, '_prefix ' .. type(self._prefix))
end
end
local name = self._name_override or self:base_name()
if name then
if type(name) == 'string' then
table.insert(result, name)
else
table.insert(errors, 'name ' .. type(name))
end
end
if self._suffix then
if type(self._suffix) == 'string' then
table.insert(result, self._suffix)
else
table.insert(errors, '_suffix ' .. type(self._suffix))
end
end
return table.concat(result, " "), table.concat(errors, ", ")
end
function ShipClassData:short_name()
local result = {}
if self._prefix then
table.insert(result, self._prefix)
end
table.insert(result, self:short_base_name())
if self._suffix then
table.insert(result, self._suffix)
end
return table.concat(result, " ")
end
function ShipClassData:is_type()
return self._is_type
end
function ShipClassData:base_type()
return self._base_type
end
function ShipClassData:create(class)
class = class or {}
if class._class and not class._suffix then
class._suffix = self._class_suffix
end
setmetatable(class, class)
class.__index = self
return class
end
ShipClassData.__call = ShipClassData.create
return ShipClassData