Jeck - fix to issue 318.
This commit is contained in:
@@ -59,6 +59,7 @@ class GameStateShop: public GameState, public JGuiListener
|
||||
PriceList * pricelist;
|
||||
PlayerData * playerdata;
|
||||
bool mTouched;
|
||||
bool needLoad;
|
||||
int mPrices[SHOP_ITEMS];
|
||||
int mCounts[SHOP_ITEMS];
|
||||
int mInventory[SHOP_ITEMS];
|
||||
|
||||
@@ -423,7 +423,7 @@ public:
|
||||
void addColumn();
|
||||
bool isAvailable(int type);
|
||||
bool isAvailableCode(string code);
|
||||
void Finish();
|
||||
bool Finish(); //Returns true if card set reasonably expected to be changed.
|
||||
bool isFinished() {return bFinished;};
|
||||
void ButtonPressed(int controllerId, int controlId);
|
||||
void buildList();
|
||||
@@ -432,6 +432,7 @@ protected:
|
||||
void addArg(string display, string code);
|
||||
vector< pair<string,string> > tempArgs; //TODO FIXME this is inefficient
|
||||
bool bFinished;
|
||||
string priorFilter;
|
||||
WSrcCards* source;
|
||||
SimpleMenu* subMenu;
|
||||
WGuiList * list;
|
||||
|
||||
@@ -63,6 +63,7 @@ void GameStateShop::Start(){
|
||||
mTouched = false;
|
||||
mStage = STAGE_FADE_IN;
|
||||
mElapsed = 0;
|
||||
needLoad = true;
|
||||
booster = NULL;
|
||||
srcCards = NEW WSrcUnlockedCards(0);
|
||||
srcCards->setElapsed(15);
|
||||
@@ -467,12 +468,13 @@ void GameStateShop::Update(float dt)
|
||||
}
|
||||
if(filterMenu){
|
||||
if(btn == PSP_CTRL_SELECT){
|
||||
filterMenu->Finish();
|
||||
needLoad = filterMenu->Finish();
|
||||
filterMenu->Update(dt);
|
||||
return;
|
||||
}
|
||||
if(filterMenu->isFinished()){
|
||||
load();
|
||||
if(needLoad)
|
||||
load();
|
||||
mStage = STAGE_SHOP_SHOP;
|
||||
}else{
|
||||
filterMenu->CheckUserInput(btn);
|
||||
|
||||
@@ -1299,18 +1299,24 @@ WGuiListRow::WGuiListRow(string n, WSyncable * s) : WGuiList(n,s) {
|
||||
height = 20;
|
||||
}
|
||||
//WGuiFilterUI
|
||||
void WGuiFilters::Finish(){
|
||||
bool WGuiFilters::Finish(){
|
||||
bFinished = true;
|
||||
string src;
|
||||
if(source){
|
||||
string src = getCode();
|
||||
src = getCode();
|
||||
if(priorFilter == src)
|
||||
return false;
|
||||
source->clearFilters();
|
||||
if(src.size()){
|
||||
WCFilterFactory * wc = WCFilterFactory::GetInstance();
|
||||
source->addFilter(wc->Construct(src));
|
||||
}
|
||||
if(!source->Size())
|
||||
source->clearFilters(); //TODO: Pop a "No results found" warning.
|
||||
if(!source->Size()){
|
||||
source->clearFilters(); //TODO: Pop a "No results found" warning
|
||||
}
|
||||
}
|
||||
priorFilter = src;
|
||||
return true;
|
||||
}
|
||||
void WGuiFilters::ButtonPressed(int controllerId, int controlId){
|
||||
if(controllerId == -102){
|
||||
|
||||
Reference in New Issue
Block a user