18 lines
720 B
C#
18 lines
720 B
C#
using SVSim.Database.Models;
|
|
|
|
namespace SVSim.EmulatedEntrypoint.Services;
|
|
|
|
/// <summary>Resolves the card pool a pack draws from. Pure function over master data.</summary>
|
|
public interface ICardPoolProvider
|
|
{
|
|
IReadOnlyList<ShadowverseCardEntry> GetPool(PackConfigEntry pack);
|
|
|
|
/// <summary>
|
|
/// Returns the foil twin of <paramref name="baseCardId"/> if it exists in master data
|
|
/// (foil card_id = base card_id + 1 by the cards.json convention), else null. One DB
|
|
/// hit per call; expected ~0.64 calls per 8-card pack at the default 8% rate.
|
|
/// TODO(caching): folds into the broader caching wave once one exists.
|
|
/// </summary>
|
|
ShadowverseCardEntry? TryGetFoilTwin(long baseCardId);
|
|
}
|