Filter View

Tokens are excluded in deck editor, filter and adjust filter menu
This commit is contained in:
Anthony Calosa
2017-02-27 13:21:35 +08:00
parent 9e584951ac
commit 64547271dc
3 changed files with 20 additions and 13 deletions

View File

@@ -626,7 +626,7 @@ protected:
class WGuiSplit: public WGuiItem class WGuiSplit: public WGuiItem
{ {
public: public:
WGuiSplit(WGuiBase* _left, WGuiBase* _right); WGuiSplit(WGuiBase* _left, WGuiBase* _right, bool custom = false);
virtual ~WGuiSplit(); virtual ~WGuiSplit();
virtual bool yieldFocus(); virtual bool yieldFocus();

View File

@@ -295,8 +295,8 @@ void WSrcCards::validate()
updateCounts(); updateCounts();
if (!filtersRoot) return; if (!filtersRoot) return;
for (size_t t = 0; t < cards.size(); t++) for (size_t t = 0; t < cards.size(); t++)
{ {//don't add tokens or negative id
if (matchesFilters(cards[t])) validated.push_back(t); if (matchesFilters(cards[t]) && (cards[t]->getId() > 0) && (cards[t]->getRarity() != Constants::RARITY_T)) validated.push_back(t);
} }
} }
@@ -391,8 +391,8 @@ WSrcUnlockedCards::WSrcUnlockedCards(float delay) :
} }
for (it = ac->collection.begin(); it != ac->collection.end(); it++) for (it = ac->collection.begin(); it != ac->collection.end(); it++)
{ {//no tokens or negative id's
if (it->second && unlocked[it->second->setId]) cards.push_back(it->second); if (it->second && unlocked[it->second->setId] && (it->second->getId() > 0) && (it->second->getRarity() != Constants::RARITY_T)) cards.push_back(it->second);
} }
if (unlocked) if (unlocked)
{ {
@@ -416,7 +416,7 @@ int WSrcDeck::loadMatches(MTGDeck * deck)
for (it = deck->cards.begin(); it != deck->cards.end(); it++) for (it = deck->cards.begin(); it != deck->cards.end(); it++)
{ {
MTGCard * c = deck->getCardById(it->first); MTGCard * c = deck->getCardById(it->first);
if (c && matchesFilters(c)) if (c && matchesFilters(c) && (c->getId() > 0) && (c->getRarity() != Constants::RARITY_T))
{ {
Add(c, it->second); Add(c, it->second);
count++; count++;

View File

@@ -692,13 +692,16 @@ PIXEL_TYPE WGuiButton::getColor(int type)
} }
; ;
WGuiSplit::WGuiSplit(WGuiBase* _left, WGuiBase* _right) : WGuiSplit::WGuiSplit(WGuiBase* _left, WGuiBase* _right, bool custom) :
WGuiItem("") WGuiItem("")
{ {
right = _right; right = _right;
left = _left; left = _left;
bRight = false; bRight = false;
percentRight = 0.5f; if(!custom)
percentRight = 0.5f;
else
percentRight = 0.67f;
if (!left->Selectable()) bRight = true; if (!left->Selectable()) bRight = true;
} }
WGuiSplit::~WGuiSplit() WGuiSplit::~WGuiSplit()
@@ -1770,14 +1773,18 @@ void WGuiFilters::buildList()
{ {
list = NEW WGuiList(""); list = NEW WGuiList("");
WGuiButton * l = NEW WGuiButton(NEW WGuiItem("Add Filter"), -102, -10, this); WGuiButton * l = NEW WGuiButton(NEW WGuiItem("Add Filter"), -102, -10, this);
WGuiButton * r = NEW WGuiButton(NEW WGuiItem("Search"), -102, -11, this); WGuiButton * r = NEW WGuiButton(NEW WGuiItem("Return"), -102, -11, this);
WGuiButton * mid = NEW WGuiButton(NEW WGuiItem("Clear"), -102, -66, this); WGuiButton * mid = NEW WGuiButton(NEW WGuiItem("Clear"), -102, -66, this);
//WGuiSplit * sub = NEW WGuiSplit(mid, r); WGuiSplit * sub = NEW WGuiSplit(mid, r);
//WGuiSplit * wgs = NEW WGuiSplit(l, sub); sub->setHeight(25);
WGuiSplit * wgs = NEW WGuiSplit(mid, r); sub->setWidth(240);
l->setHeight(25);
l->setWidth(160);
WGuiSplit * wgs = NEW WGuiSplit(l, sub, true);
//WGuiSplit * wgs = NEW WGuiSplit(mid, r);
subMenu = NULL; subMenu = NULL;
list->Add(NEW WGuiHeader(displayValue)); list->Add(NEW WGuiHeader(displayValue));
list->Add(l); //list->Add(l);
list->Add(wgs); list->Add(wgs);
list->Entering(JGE_BTN_NONE); list->Entering(JGE_BTN_NONE);
} }