From 64547271dcc379d663000cc6a3efad2c9a2f8545 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 27 Feb 2017 13:21:35 +0800 Subject: [PATCH] Filter View Tokens are excluded in deck editor, filter and adjust filter menu --- projects/mtg/include/WGui.h | 2 +- projects/mtg/src/WDataSrc.cpp | 10 +++++----- projects/mtg/src/WGui.cpp | 21 ++++++++++++++------- 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/projects/mtg/include/WGui.h b/projects/mtg/include/WGui.h index e3c5a19ef..6c780a049 100644 --- a/projects/mtg/include/WGui.h +++ b/projects/mtg/include/WGui.h @@ -626,7 +626,7 @@ protected: class WGuiSplit: public WGuiItem { public: - WGuiSplit(WGuiBase* _left, WGuiBase* _right); + WGuiSplit(WGuiBase* _left, WGuiBase* _right, bool custom = false); virtual ~WGuiSplit(); virtual bool yieldFocus(); diff --git a/projects/mtg/src/WDataSrc.cpp b/projects/mtg/src/WDataSrc.cpp index a29e13f34..d4b0721fd 100644 --- a/projects/mtg/src/WDataSrc.cpp +++ b/projects/mtg/src/WDataSrc.cpp @@ -295,8 +295,8 @@ void WSrcCards::validate() updateCounts(); if (!filtersRoot) return; for (size_t t = 0; t < cards.size(); t++) - { - if (matchesFilters(cards[t])) validated.push_back(t); + {//don't add tokens or negative id + 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++) - { - if (it->second && unlocked[it->second->setId]) cards.push_back(it->second); + {//no tokens or negative id's + if (it->second && unlocked[it->second->setId] && (it->second->getId() > 0) && (it->second->getRarity() != Constants::RARITY_T)) cards.push_back(it->second); } if (unlocked) { @@ -416,7 +416,7 @@ int WSrcDeck::loadMatches(MTGDeck * deck) for (it = deck->cards.begin(); it != deck->cards.end(); it++) { 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); count++; diff --git a/projects/mtg/src/WGui.cpp b/projects/mtg/src/WGui.cpp index 5a0e83639..f2f1758bf 100644 --- a/projects/mtg/src/WGui.cpp +++ b/projects/mtg/src/WGui.cpp @@ -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("") { right = _right; left = _left; bRight = false; - percentRight = 0.5f; + if(!custom) + percentRight = 0.5f; + else + percentRight = 0.67f; if (!left->Selectable()) bRight = true; } WGuiSplit::~WGuiSplit() @@ -1770,14 +1773,18 @@ void WGuiFilters::buildList() { list = NEW WGuiList(""); 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); - //WGuiSplit * sub = NEW WGuiSplit(mid, r); - //WGuiSplit * wgs = NEW WGuiSplit(l, sub); - WGuiSplit * wgs = NEW WGuiSplit(mid, r); + WGuiSplit * sub = NEW WGuiSplit(mid, r); + sub->setHeight(25); + sub->setWidth(240); + l->setHeight(25); + l->setWidth(160); + WGuiSplit * wgs = NEW WGuiSplit(l, sub, true); + //WGuiSplit * wgs = NEW WGuiSplit(mid, r); subMenu = NULL; list->Add(NEW WGuiHeader(displayValue)); - list->Add(l); + //list->Add(l); list->Add(wgs); list->Entering(JGE_BTN_NONE); }