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