示例#1
0
 private Deck getFavoriteDeck() {
   Iterable<DeckProxy> decks;
   switch (lstDecks.getGameType()) {
     case Commander:
       decks = DeckProxy.getAllCommanderDecks();
       break;
     case TinyLeaders:
       decks = DeckProxy.getAllTinyLeadersDecks();
       break;
     case Archenemy:
       decks = DeckProxy.getAllSchemeDecks();
       break;
     case Planechase:
       decks = DeckProxy.getAllPlanarDecks();
       break;
     default:
       decks = DeckProxy.getAllConstructedDecks();
       break;
   }
   decks =
       Iterables.filter(
           decks,
           new Predicate<DeckProxy>() {
             @Override
             public boolean apply(final DeckProxy deck) {
               return deck.isFavoriteDeck();
             }
           });
   if (Iterables.isEmpty(decks)) {
     return getGeneratedDeck(); // fall back to generated deck if no favorite decks
   }
   return Aggregates.random(decks).getDeck();
 }
示例#2
0
 private Deck getUserDeck() {
   Iterable<DeckProxy> decks;
   final GameType gameType = lstDecks.getGameType();
   switch (gameType) {
     case Commander:
       decks = DeckProxy.getAllCommanderDecks(DeckFormat.Commander.isLegalDeckPredicate());
       break;
     case TinyLeaders:
       decks = DeckProxy.getAllTinyLeadersDecks(DeckFormat.TinyLeaders.isLegalDeckPredicate());
       break;
     case Archenemy:
       decks = DeckProxy.getAllSchemeDecks(DeckFormat.Archenemy.isLegalDeckPredicate());
       break;
     case Planechase:
       decks = DeckProxy.getAllPlanarDecks(DeckFormat.Planechase.isLegalDeckPredicate());
       break;
     default:
       decks = DeckProxy.getAllConstructedDecks(gameType.getDeckFormat().isLegalDeckPredicate());
       break;
   }
   if (Iterables.isEmpty(decks)) {
     return getGeneratedDeck(); // fall back to generated deck if no decks in filtered list
   }
   return Aggregates.random(decks).getDeck();
 }