use QSet for zones
This commit is contained in:
parent
8e4f0c50af
commit
9e2da24629
1 changed files with 7 additions and 2 deletions
|
@ -727,6 +727,11 @@ void DeckList::updateDeckHash()
|
||||||
{
|
{
|
||||||
QStringList cardList;
|
QStringList cardList;
|
||||||
bool isValidDeckList = true;
|
bool isValidDeckList = true;
|
||||||
|
static QSet<QString> hashZones, optionalZones;
|
||||||
|
|
||||||
|
hashZones << "main" << "side"; // Zones in deck to be included in hashing process
|
||||||
|
optionalZones << "tokens"; // Optional zones in deck not included in hashing process
|
||||||
|
|
||||||
for (int i = 0; i < root->size(); i++)
|
for (int i = 0; i < root->size(); i++)
|
||||||
{
|
{
|
||||||
InnerDecklistNode *node = dynamic_cast<InnerDecklistNode *>(root->at(i));
|
InnerDecklistNode *node = dynamic_cast<InnerDecklistNode *>(root->at(i));
|
||||||
|
@ -735,11 +740,11 @@ void DeckList::updateDeckHash()
|
||||||
DecklistCardNode *card = dynamic_cast<DecklistCardNode *>(node->at(j));
|
DecklistCardNode *card = dynamic_cast<DecklistCardNode *>(node->at(j));
|
||||||
for (int k = 0; k < card->getNumber(); ++k)
|
for (int k = 0; k < card->getNumber(); ++k)
|
||||||
{
|
{
|
||||||
if (node->getName() == "main" || node->getName() == "side") // Mainboard or Sideboard
|
if (hashZones.contains(node->getName())) // Mainboard or Sideboard
|
||||||
{
|
{
|
||||||
cardList.append((node->getName() == "side" ? "SB:" : "") + card->getName().toLower());
|
cardList.append((node->getName() == "side" ? "SB:" : "") + card->getName().toLower());
|
||||||
}
|
}
|
||||||
else if (node->getName() != "tokens") // Neither Mainboard, Sideboard, or Tokens... cheater?
|
else if (!optionalZones.contains(node->getName())) // Not a valid zone -> cheater?
|
||||||
{
|
{
|
||||||
isValidDeckList = false; // Deck is invalid
|
isValidDeckList = false; // Deck is invalid
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue