Fixed deck selection in Deck Editor Menu (now it shows both Classical Decks and Commander Decks using a CMD suffix) and fixed deck selection in Demo Mode (now it filters decks according to game mode as it happens in normal game mode).
This commit is contained in:
@@ -445,7 +445,10 @@ void DeckMenu::Add(int id, const string& text, const string& desc, bool forceFoc
|
||||
deckDescription = it->second;
|
||||
else
|
||||
deckDescription = deckMetaData ? deckMetaData->getDescription() : desc;
|
||||
|
||||
|
||||
if(deckMetaData && deckMetaData->isCommanderDeck)
|
||||
deckDescription = deckDescription + " (" + _("CMD") + ")"; // It will show a CMD suffix for Commander Decks.
|
||||
|
||||
menuItem->setDescription(deckDescription);
|
||||
|
||||
JGuiController::Add(menuItem);
|
||||
|
||||
@@ -15,16 +15,16 @@
|
||||
// sortByName to do the sorting. This was done since the menu item display is done in insertion order.
|
||||
|
||||
vector<DeckMetaData *> GameState::fillDeckMenu(DeckMenu * _menu, const string& path, const string& smallDeckPrefix,
|
||||
Player * statsPlayer, int maxDecks, GameType type)
|
||||
Player * statsPlayer, int maxDecks, GameType type, bool showall)
|
||||
{
|
||||
|
||||
vector<DeckMetaData *> deckMetaDataVector = BuildDeckList(path, smallDeckPrefix, statsPlayer, maxDecks, type);
|
||||
vector<DeckMetaData *> deckMetaDataVector = BuildDeckList(path, smallDeckPrefix, statsPlayer, maxDecks, type, showall);
|
||||
renderDeckMenu(_menu, deckMetaDataVector);
|
||||
|
||||
return deckMetaDataVector;
|
||||
}
|
||||
|
||||
vector<DeckMetaData *> GameState::BuildDeckList(const string& path, const string& smallDeckPrefix, Player * statsPlayer, int maxDecks, GameType type)
|
||||
vector<DeckMetaData *> GameState::BuildDeckList(const string& path, const string& smallDeckPrefix, Player * statsPlayer, int maxDecks, GameType type, bool showall)
|
||||
{
|
||||
vector<DeckMetaData*> retList;
|
||||
|
||||
@@ -42,7 +42,7 @@ vector<DeckMetaData *> GameState::BuildDeckList(const string& path, const string
|
||||
if (meta)
|
||||
{
|
||||
found = 1;
|
||||
if((meta->isCommanderDeck && type != GAME_TYPE_COMMANDER) || (!meta->isCommanderDeck && type == GAME_TYPE_COMMANDER)){
|
||||
if(!showall && ((meta->isCommanderDeck && type != GAME_TYPE_COMMANDER) || (!meta->isCommanderDeck && type == GAME_TYPE_COMMANDER))){
|
||||
meta = NULL; // It will show commander decks only in commander mode and it will hide them in other modes.
|
||||
nbDecks++;
|
||||
continue;
|
||||
|
||||
@@ -172,7 +172,7 @@ void GameStateDeckViewer::updateDecks()
|
||||
{
|
||||
SAFE_DELETE(welcome_menu);
|
||||
welcome_menu = NEW DeckEditorMenu(MENU_DECK_SELECTION, this, Fonts::OPTION_FONT, "Choose Deck To Edit");
|
||||
vector<DeckMetaData *> playerDeckList = fillDeckMenu(welcome_menu, options.profileFile());
|
||||
vector<DeckMetaData *> playerDeckList = fillDeckMenu(welcome_menu, options.profileFile(), "", NULL, 0, GAME_TYPE_CLASSIC, true); // Show all decks in deck editor menu...
|
||||
|
||||
newDeckname = "";
|
||||
welcome_menu->Add(MENU_ITEM_NEW_DECK, "--NEW--");
|
||||
|
||||
@@ -274,7 +274,7 @@ void GameStateDuel::Start()
|
||||
deckmenu->Add(MENUITEM_NEW_DECK, _("Create your Deck!").c_str(), desc);
|
||||
}
|
||||
premadeDeck = true;
|
||||
fillDeckMenu(deckmenu, _("player/premade").c_str());
|
||||
fillDeckMenu(deckmenu, _("player/premade").c_str(), "", NULL, 0, mParent->gameType);
|
||||
}
|
||||
else if (gModRules.general.hasDeckEditor())
|
||||
{
|
||||
@@ -299,9 +299,9 @@ void GameStateDuel::Start()
|
||||
DeckManager *deckManager = DeckManager::GetInstance();
|
||||
vector<DeckMetaData *> playerDeckList;
|
||||
|
||||
playerDeckList = fillDeckMenu(deckmenu, "ai/baka","ai_baka",NULL,nmbDecks);
|
||||
playerDeckList = fillDeckMenu(deckmenu, "ai/baka", "ai_baka", NULL, nmbDecks, mParent->gameType);
|
||||
//printf("nmbDecks %i\n",playerDeckList.size());
|
||||
renderDeckMenu(deckmenu, playerDeckList);
|
||||
//renderDeckMenu(deckmenu, playerDeckList);
|
||||
// save the changes to the player deck list maintained in DeckManager
|
||||
deckManager->updateMetaDataList(&playerDeckList, true);
|
||||
//save the real number of available decks
|
||||
|
||||
Reference in New Issue
Block a user