Basic card cleanup
This commit is contained in:
@@ -15,9 +15,14 @@ public class CardRepository : BaseRepository<ShadowverseCardEntry>, ICardReposit
|
|||||||
return cards;
|
return cards;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<ShadowverseCardEntry>> GetAllBasic()
|
public async Task<List<ShadowverseCardEntry>> GetDefaultCards()
|
||||||
{
|
{
|
||||||
return await DbContext.Set<ShadowverseCardSetEntry>().Where(set => set.IsBasic).SelectMany(set => set.Cards)
|
// The set of cards every viewer is treated as owning 3-of from the start: bronze,
|
||||||
|
// non-foil basics. Silver/gold basics and animated (foil) variants are earned
|
||||||
|
// through story rewards etc.
|
||||||
|
return await DbContext.Set<ShadowverseCardSetEntry>().Where(set => set.IsBasic)
|
||||||
|
.SelectMany(set => set.Cards)
|
||||||
|
.Where(card => card.Rarity == Enums.Rarity.Bronze && !card.IsFoil)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,5 +6,5 @@ public interface ICardRepository
|
|||||||
{
|
{
|
||||||
Task<List<ShadowverseCardEntry>> GetAll(bool onlyCollectible);
|
Task<List<ShadowverseCardEntry>> GetAll(bool onlyCollectible);
|
||||||
Task<List<ShadowverseCardSetEntry>> GetCardSets(bool onlyInRotation);
|
Task<List<ShadowverseCardSetEntry>> GetCardSets(bool onlyInRotation);
|
||||||
Task<List<ShadowverseCardEntry>> GetAllBasic();
|
Task<List<ShadowverseCardEntry>> GetDefaultCards();
|
||||||
}
|
}
|
||||||
@@ -113,12 +113,12 @@ public class LoadController : SVSimController
|
|||||||
// * card_set_id=90000 (engine tokens, char_type=4): never collectible
|
// * card_set_id=90000 (engine tokens, char_type=4): never collectible
|
||||||
// Both naturally fall out of "ownership-only" since the viewer can't own them;
|
// Both naturally fall out of "ownership-only" since the viewer can't own them;
|
||||||
// re-confirm the filter if we later move to Option B and start iterating card-sets.
|
// re-confirm the filter if we later move to Option B and start iterating card-sets.
|
||||||
var basicCards = await _cardRepository.GetAllBasic();
|
var defaultCards = await _cardRepository.GetDefaultCards();
|
||||||
var basicIds = basicCards.Select(c => c.Id).ToHashSet();
|
var defaultCardIds = defaultCards.Select(c => c.Id).ToHashSet();
|
||||||
var ownedCollectibles = viewer.Cards
|
var ownedCollectibles = viewer.Cards
|
||||||
.Where(c => c.Count > 0 && !basicIds.Contains(c.Card.Id));
|
.Where(c => c.Count > 0 && !defaultCardIds.Contains(c.Card.Id));
|
||||||
var allCardsAsOwned = ownedCollectibles
|
var allCardsAsOwned = ownedCollectibles
|
||||||
.Concat(basicCards.Select(bc => new OwnedCardEntry
|
.Concat(defaultCards.Select(bc => new OwnedCardEntry
|
||||||
{
|
{
|
||||||
Card = bc,
|
Card = bc,
|
||||||
Count = 3,
|
Count = 3,
|
||||||
|
|||||||
Reference in New Issue
Block a user