| 1363 | } |
| 1364 | |
| 1365 | bool Player::addBlueprint(ItemDescriptor const& descriptor, bool showFailure) { |
| 1366 | if (descriptor.isNull()) |
| 1367 | return false; |
| 1368 | |
| 1369 | auto itemDb = Root::singleton().itemDatabase(); |
| 1370 | auto item = itemDb->item(descriptor); |
| 1371 | auto assets = Root::singleton().assets(); |
| 1372 | if (!m_blueprints->isKnown(descriptor)) { |
| 1373 | m_blueprints->add(descriptor); |
| 1374 | queueUIMessage(assets->json("/player.config:blueprintUnlock").toString().replace("<ItemName>", item->friendlyName())); |
| 1375 | return true; |
| 1376 | } else if (showFailure) { |
| 1377 | queueUIMessage(assets->json("/player.config:blueprintAlreadyKnown").toString().replace("<ItemName>", item->friendlyName())); |
| 1378 | } |
| 1379 | |
| 1380 | return false; |
| 1381 | } |
| 1382 | |
| 1383 | bool Player::blueprintKnown(ItemDescriptor const& descriptor) const { |
| 1384 | if (descriptor.isNull()) |
no test coverage detected