Line 5: |
Line 5: |
| | | |
| function ShipClassData:base_name() | | function ShipClassData:base_name() |
| + | return type(self._name) == 'table' and self._name._name or self._name |
| + | end |
| + | |
| + | function ShipClassData:base_name_test() |
| return self._name | | return self._name |
| end | | end |
Line 26: |
Line 30: |
| function ShipClassData:name_override() | | function ShipClassData:name_override() |
| local result = {} | | local result = {} |
− | local errors = {}
| |
| if self._prefix then | | if self._prefix then |
− | if type(self._prefix) == 'string' then
| + | table.insert(result, self._prefix) |
− | table.insert(result, self._prefix)
| + | end |
− | else
| + | if self._name_override or self:base_name() then |
− | table.insert(errors, '_prefix ' .. type(self._prefix))
| + | table.insert(result, self._name_override or self:base_name()) |
− | 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_override ' .. type(self._name_override) .. ', base_name ' .. type(self:base_name()))
| |
− | local s = ''
| |
− | if type(self:base_name()) == 'table' then
| |
− | for k, v in pairs(self:base_name()) do
| |
− | s = s .. '; ' .. k
| |
− | end
| |
− | table.insert(errors, s)
| |
− | end
| |
− | end
| |
| end | | end |
| if self._suffix then | | if self._suffix then |
− | if type(self._suffix) == 'string' then
| + | table.insert(result, self._suffix) |
− | table.insert(result, self._suffix)
| |
− | else
| |
− | table.insert(errors, '_suffix ' .. type(self._suffix))
| |
− | end
| |
| end | | end |
− | return table.concat(result, " "), table.concat(errors, ", ") | + | return table.concat(result, " ") |
| end | | end |
| | | |