Added a new game option to allow the user to decide how to sort sets in filter and award section (by sector, by name or by release date).
This commit is contained in:
@@ -23,6 +23,7 @@ const string Options::optionNames[] = {
|
||||
"ShowBorder",
|
||||
"BlackBorder",
|
||||
"ShowTokens",
|
||||
"SortingSets",
|
||||
"GDVLargeImages",
|
||||
"CardPrefetching",
|
||||
"displayOSD",
|
||||
@@ -493,6 +494,11 @@ GameOption * GameOptions::get(int optionID)
|
||||
goEnum->def = OptionMaxGrade::getInstance();
|
||||
go = goEnum;
|
||||
break;
|
||||
case Options::SORTINGSETS:
|
||||
goEnum = NEW GameOptionEnum();
|
||||
goEnum->def = OptionASortingSets::getInstance();
|
||||
go = goEnum;
|
||||
break;
|
||||
case Options::ASPHASES:
|
||||
goEnum = NEW GameOptionEnum();
|
||||
goEnum->def = OptionASkipPhase::getInstance();
|
||||
@@ -960,6 +966,17 @@ OptionMaxGrade::OptionMaxGrade()
|
||||
;
|
||||
// MARK: -
|
||||
|
||||
// MARK: OptionASortingSets
|
||||
|
||||
OptionASortingSets OptionASortingSets::mDef = OptionASortingSets();
|
||||
OptionASortingSets::OptionASortingSets()
|
||||
{
|
||||
mDef.values.push_back(EnumDefinition::assoc(Constants::BY_SECTOR, "Sector"));
|
||||
mDef.values.push_back(EnumDefinition::assoc(Constants::BY_NAME, "Name"));
|
||||
mDef.values.push_back(EnumDefinition::assoc(Constants::BY_DATE, "Date"));
|
||||
}
|
||||
// MARK: -
|
||||
|
||||
// MARK: OptionASkipPhase
|
||||
|
||||
OptionASkipPhase OptionASkipPhase::mDef = OptionASkipPhase();
|
||||
|
||||
@@ -99,7 +99,12 @@ void GameStateAwards::Start()
|
||||
vector<pair<string, string> > orderedSet;
|
||||
for(int i = 0; i < setlist.size(); i++){
|
||||
sprintf(buf, "%s", setlist[i].c_str());
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), buf)); // Now sets are sorted by new Order Index tag.
|
||||
if (options[Options::SORTINGSETS].number == 2) // Now sets can be sorted by sector(orderindex) or name or release date.
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getDate(), buf));
|
||||
else if (options[Options::SORTINGSETS].number == 1)
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getName(), buf));
|
||||
else
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), buf));
|
||||
}
|
||||
sort(orderedSet.begin(),orderedSet.end());
|
||||
for (unsigned int i = 0; i < orderedSet.size(); i++)
|
||||
|
||||
@@ -73,6 +73,8 @@ void GameStateOptions::Start()
|
||||
|
||||
optionsList = NEW WGuiList("Game");
|
||||
optionsList->Add(NEW WGuiHeader("Interface Options"));
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::SORTINGSETS, "Sort sets by", Constants::BY_DATE, 1,
|
||||
Constants::BY_NAME, "", Constants::BY_SECTOR))); // Now sets can be sorted by sector(orderindex) or name or release date.
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::CLOSEDHAND, "Closed hand", 1, 1, 0)));
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::HANDDIRECTION, "Hand direction", 1, 1, 0)));
|
||||
optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::MANADISPLAY, "Mana display", 3, 1, 0)));
|
||||
|
||||
@@ -2221,7 +2221,12 @@ void WGuiFilterItem::updateValue()
|
||||
vector<pair<string, string> > orderedSet;
|
||||
for(int i = 0; i < setlist.size(); i++){
|
||||
if (options[Options::optionSet(i)].number == 0) continue;
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), setlist[i].c_str())); // Now sets are sorted by new Order Index tag.
|
||||
if (options[Options::SORTINGSETS].number == Constants::BY_DATE) // Now sets can be sorted by sector(orderindex) or name or release date.
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getDate(), setlist[i].c_str()));
|
||||
else if (options[Options::SORTINGSETS].number == Constants::BY_NAME)
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getName(), setlist[i].c_str()));
|
||||
else
|
||||
orderedSet.push_back(pair<string, string> (setlist.getInfo(i)->getOrderIndex(), setlist[i].c_str()));
|
||||
}
|
||||
sort(orderedSet.begin(),orderedSet.end());
|
||||
for (unsigned int i = 0; i < orderedSet.size(); i++){
|
||||
|
||||
Reference in New Issue
Block a user