Line 1: |
Line 1: |
| local BaseData = require("Module:BaseData") | | local BaseData = require("Module:BaseData") |
− | local ShipClassData = BaseData({ | + | local ShipClassData = BaseData{ |
| _class_suffix = "Class", | | _class_suffix = "Class", |
− | _type_prefix = "Type",
| + | } |
− | })
| |
| | | |
| 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 |
| + | |
| + | function ShipClassData:short_base_name() |
| + | return self._short_name or self:base_name() |
| end | | end |
| | | |
Line 19: |
Line 26: |
| end | | end |
| return table.concat(result, " ") | | return table.concat(result, " ") |
| + | end |
| + | |
| + | function ShipClassData:name_override() |
| + | local result = {} |
| + | if self._prefix then |
| + | table.insert(result, self._prefix) |
| + | end |
| + | if self._name_override or self:base_name() then |
| + | table.insert(result, self._name_override or self:base_name()) |
| + | end |
| + | if self._suffix then |
| + | table.insert(result, self._suffix) |
| + | end |
| + | return table.concat(result, " ") |
| + | 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 | | end |
| | | |
Line 29: |
Line 66: |
| if class._class and not class._suffix then | | if class._class and not class._suffix then |
| class._suffix = self._class_suffix | | class._suffix = self._class_suffix |
− | end
| |
− | if class._type and not class._prefix then
| |
− | class._prefix = self._type_prefix
| |
| end | | end |
| setmetatable(class, class) | | setmetatable(class, class) |