(PaperCard paperCard)
| 540 | } |
| 541 | |
| 542 | public void addCard(PaperCard paperCard) { |
| 543 | if (filtered.contains(paperCard.getName())) { |
| 544 | return; |
| 545 | } |
| 546 | |
| 547 | String mainName = paperCard.getName(); |
| 548 | allCardsByName.put(mainName, paperCard); |
| 549 | |
| 550 | CardRules rules = paperCard.getRules(); |
| 551 | allCardsByRules.put(rules, paperCard); |
| 552 | if (rules.getSplitType() == CardSplitType.None && !rules.hasFunctionalVariants()) { |
| 553 | return; |
| 554 | } |
| 555 | |
| 556 | //Card may have multiple names. Add it under all of them. |
| 557 | |
| 558 | List<ICardFace> allFaces = paperCard.getAllFaces(); |
| 559 | Set<String> namesToAdd = new HashSet<>(); |
| 560 | allFaces.stream().map(ICardCharacteristics::getName).forEach(namesToAdd::add); |
| 561 | allFaces.stream().map(ICardFace::getFlavorName).filter(Objects::nonNull).forEach(namesToAdd::add); |
| 562 | namesToAdd.remove(mainName); |
| 563 | for(String name : namesToAdd) |
| 564 | allCardsByName.put(name, paperCard); |
| 565 | } |
| 566 | |
| 567 | private void reIndex() { |
| 568 | uniqueCardsByRules.clear(); |
no test coverage detected