mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-04-25 16:32:36 -05:00
Make parser use CardSettingsInterface
Took 13 minutes
This commit is contained in:
parent
fc6ffffcb9
commit
975912de90
|
|
@ -11,6 +11,11 @@ public:
|
|||
{
|
||||
return SettingsCache::instance().cardOverrides().getCardPreferenceOverride(cardName);
|
||||
}
|
||||
|
||||
bool getIncludeRebalancedCards() const override
|
||||
{
|
||||
return SettingsCache::instance().getIncludeRebalancedCards();
|
||||
};
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_SETTINGS_CARD_PREFERENCE_PROVIDER_H
|
||||
|
|
|
|||
|
|
@ -13,6 +13,11 @@
|
|||
#define COCKATRICE_XML4_SCHEMALOCATION \
|
||||
"https://raw.githubusercontent.com/Cockatrice/Cockatrice/master/doc/carddatabase_v4/cards.xsd"
|
||||
|
||||
CockatriceXml4Parser::CockatriceXml4Parser(ICardPreferenceProvider *_cardPreferenceProvider)
|
||||
: cardPreferenceProvider(_cardPreferenceProvider)
|
||||
{
|
||||
}
|
||||
|
||||
bool CockatriceXml4Parser::getCanParseFile(const QString &fileName, QIODevice &device)
|
||||
{
|
||||
qCInfo(CockatriceXml4Log) << "Trying to parse: " << fileName;
|
||||
|
|
@ -131,8 +136,7 @@ QVariantHash CockatriceXml4Parser::loadCardPropertiesFromXml(QXmlStreamReader &x
|
|||
|
||||
void CockatriceXml4Parser::loadCardsFromXml(QXmlStreamReader &xml)
|
||||
{
|
||||
bool includeRebalancedCards =
|
||||
true; // TODO: MOVE THIS OUT OF THE PARSER SettingsCache::instance().getIncludeRebalancedCards();
|
||||
bool includeRebalancedCards = cardPreferenceProvider->getIncludeRebalancedCards();
|
||||
while (!xml.atEnd()) {
|
||||
if (xml.readNext() == QXmlStreamReader::EndElement) {
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#include <QLoggingCategory>
|
||||
#include <QXmlStreamReader>
|
||||
#include <libcockatrice/interfaces/interface_card_preference_provider.h>
|
||||
|
||||
inline Q_LOGGING_CATEGORY(CockatriceXml4Log, "cockatrice_xml.xml_4_parser");
|
||||
|
||||
|
|
@ -18,7 +19,7 @@ class CockatriceXml4Parser : public ICardDatabaseParser
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CockatriceXml4Parser() = default;
|
||||
CockatriceXml4Parser(ICardPreferenceProvider *cardPreferenceProvider);
|
||||
~CockatriceXml4Parser() override = default;
|
||||
bool getCanParseFile(const QString &name, QIODevice &device) override;
|
||||
void parseFile(QIODevice &device) override;
|
||||
|
|
@ -29,6 +30,8 @@ public:
|
|||
const QString &sourceVersion = "unknown") override;
|
||||
|
||||
private:
|
||||
ICardPreferenceProvider *cardPreferenceProvider;
|
||||
|
||||
QVariantHash loadCardPropertiesFromXml(QXmlStreamReader &xml);
|
||||
void loadCardsFromXml(QXmlStreamReader &xml);
|
||||
void loadSetsFromXml(QXmlStreamReader &xml);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ class ICardPreferenceProvider
|
|||
public:
|
||||
virtual ~ICardPreferenceProvider() = default;
|
||||
virtual QString getCardPreferenceOverride(const QString &cardName) const = 0;
|
||||
virtual bool getIncludeRebalancedCards() const = 0;
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_INTERFACE_CARD_PREFERENCE_PROVIDER_H
|
||||
|
|
|
|||
|
|
@ -9,6 +9,11 @@ public:
|
|||
{
|
||||
return {};
|
||||
}
|
||||
|
||||
bool getIncludeRebalancedCards() const override
|
||||
{
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
#endif // COCKATRICE_NOOP_CARD_PREFERENCE_PROVIDER_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user