add pow/toughness filters (#2169)
This commit is contained in:
parent
65c98c8422
commit
6c7ba06930
4 changed files with 30 additions and 2 deletions
|
@ -35,6 +35,10 @@ const char *CardFilter::attrName(Attr a)
|
||||||
return "cmc";
|
return "cmc";
|
||||||
case AttrRarity:
|
case AttrRarity:
|
||||||
return "rarity";
|
return "rarity";
|
||||||
|
case AttrPow:
|
||||||
|
return "power";
|
||||||
|
case AttrTough:
|
||||||
|
return "toughness";
|
||||||
default:
|
default:
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,8 @@ public:
|
||||||
AttrManaCost,
|
AttrManaCost,
|
||||||
AttrCmc,
|
AttrCmc,
|
||||||
AttrRarity,
|
AttrRarity,
|
||||||
|
AttrPow,
|
||||||
|
AttrTough,
|
||||||
AttrEnd
|
AttrEnd
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -224,13 +224,29 @@ bool FilterItem::acceptCmc(const CardInfo *info) const
|
||||||
return (info->getCmc() == term);
|
return (info->getCmc() == term);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FilterItem::acceptPower(const CardInfo *info) const
|
||||||
|
{
|
||||||
|
int slash = info->getPowTough().indexOf("/");
|
||||||
|
if (slash != -1)
|
||||||
|
return (info->getPowTough().mid(0,slash) == term);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool FilterItem::acceptToughness(const CardInfo *info) const
|
||||||
|
{
|
||||||
|
int slash = info->getPowTough().indexOf("/");
|
||||||
|
if (slash != -1)
|
||||||
|
return (info->getPowTough().mid(slash+1) == term);
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool FilterItem::acceptRarity(const CardInfo *info) const
|
bool FilterItem::acceptRarity(const CardInfo *info) const
|
||||||
{
|
{
|
||||||
foreach (QString rareLevel, info->getRarities())
|
foreach (QString rareLevel, info->getRarities())
|
||||||
{
|
|
||||||
if (rareLevel.compare(term, Qt::CaseInsensitive) == 0)
|
if (rareLevel.compare(term, Qt::CaseInsensitive) == 0)
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -254,6 +270,10 @@ bool FilterItem::acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) con
|
||||||
return acceptCmc(info);
|
return acceptCmc(info);
|
||||||
case CardFilter::AttrRarity:
|
case CardFilter::AttrRarity:
|
||||||
return acceptRarity(info);
|
return acceptRarity(info);
|
||||||
|
case CardFilter::AttrPow:
|
||||||
|
return acceptPower(info);
|
||||||
|
case CardFilter::AttrTough:
|
||||||
|
return acceptToughness(info);
|
||||||
default:
|
default:
|
||||||
return true; /* ignore this attribute */
|
return true; /* ignore this attribute */
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,6 +118,8 @@ public:
|
||||||
bool acceptSet(const CardInfo *info) const;
|
bool acceptSet(const CardInfo *info) const;
|
||||||
bool acceptManaCost(const CardInfo *info) const;
|
bool acceptManaCost(const CardInfo *info) const;
|
||||||
bool acceptCmc(const CardInfo *info) const;
|
bool acceptCmc(const CardInfo *info) const;
|
||||||
|
bool acceptPower(const CardInfo *info) const;
|
||||||
|
bool acceptToughness(const CardInfo *info) const;
|
||||||
bool acceptRarity(const CardInfo *info) const;
|
bool acceptRarity(const CardInfo *info) const;
|
||||||
bool acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) const;
|
bool acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) const;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue