| 18 | : tuple(type, subtype, custom) { } |
| 19 | |
| 20 | static BuildingTypeKey deserialize(color_ostream &out, const std::string &serialized) { |
| 21 | vector<string> key_parts; |
| 22 | split_string(&key_parts, serialized, ","); |
| 23 | if (key_parts.size() != 3) { |
| 24 | WARN(control,out).print("invalid key_str: '{}'\n", serialized); |
| 25 | return BuildingTypeKey(df::building_type::NONE, -1, -1); |
| 26 | } |
| 27 | return BuildingTypeKey((df::building_type)string_to_int(key_parts[0]), |
| 28 | string_to_int(key_parts[1]), string_to_int(key_parts[2])); |
| 29 | } |
| 30 | |
| 31 | BuildingTypeKey::BuildingTypeKey(color_ostream &out, const std::string &serialized) |
| 32 | :tuple(deserialize(out, serialized)) { } |
no test coverage detected