-
Notifications
You must be signed in to change notification settings - Fork 0
Description
There are multiple ways we could search through the card image titles to compare. There needs to be multiple kinds.
There should be a generic interface for handling this searching.
interface ICardMatcher {
Match[] GetMatches(CardLibrary library, string filename);
}
A CardLibrary basically is a json structure with an array of sets, with an array of cards, with an array of properties.
A Match includes a specific card from the CardLibrary, as well as a percentage of confidence(undefined if the method doesn't include such a thing).
In the application, all the ICardMatcher's will be arranged in order of usefulness. For example, it makes much more sense to have a GuidCardMatcher come before a FuzzyTextSearchCardMatcher.
If a GetMatches returns 1 item, with 100% confidence, it will stop and return that result. If there are previous results from other matchers, it will also include those, ordered by confidence.