Issue 634:
Fixed. Had to clear the DeckManager whenever the player deck selection screen is displayed. TODO: Need to implement a caching mechanism that caches the deck information based on deck selection and not a global one. Currently DeckManager is effectively treating the DeckMetaData as global data. *some minor tweaks to how deck information is managed/created
This commit is contained in:
@@ -271,14 +271,12 @@ void DeckMenu::Render()
|
|||||||
mainFont->DrawString(text.c_str(), descX, descY);
|
mainFont->DrawString(text.c_str(), descX, descY);
|
||||||
mFont->SetColor(ARGB(255,255,255,255));
|
mFont->SetColor(ARGB(255,255,255,255));
|
||||||
|
|
||||||
|
|
||||||
// fill in the statistical portion
|
// fill in the statistical portion
|
||||||
if (currentMenuItem->meta)
|
if (currentMenuItem->meta)
|
||||||
{
|
{
|
||||||
ostringstream oss;
|
ostringstream oss;
|
||||||
oss << _("Deck: ") << currentMenuItem->meta->getName() << endl;
|
oss << _("Deck: ") << currentMenuItem->meta->getName() << endl;
|
||||||
oss << currentMenuItem->meta->getStatsSummary();
|
oss << currentMenuItem->meta->getStatsSummary();
|
||||||
|
|
||||||
mainFont->DrawString(oss.str(), statsX, statsY);
|
mainFont->DrawString(oss.str(), statsX, statsY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ void DeckMetaData::LoadStats()
|
|||||||
DeckStat * opponentDeckStats = stats->getDeckStat(mStatsFilename);
|
DeckStat * opponentDeckStats = stats->getDeckStat(mStatsFilename);
|
||||||
if (opponentDeckStats)
|
if (opponentDeckStats)
|
||||||
{
|
{
|
||||||
mPercentVictories = stats->percentVictories(mStatsFilename);
|
mPercentVictories = opponentDeckStats->percentVictories();
|
||||||
mVictories = opponentDeckStats->victories;
|
mVictories = opponentDeckStats->victories;
|
||||||
mGamesPlayed = opponentDeckStats->nbgames;
|
mGamesPlayed = opponentDeckStats->nbgames;
|
||||||
mColorIndex = opponentDeckStats->manaColorIndex;
|
mColorIndex = opponentDeckStats->manaColorIndex;
|
||||||
@@ -73,6 +73,7 @@ void DeckMetaData::LoadStats()
|
|||||||
{
|
{
|
||||||
mDifficulty = EASY;
|
mDifficulty = EASY;
|
||||||
}
|
}
|
||||||
|
mStatsLoaded = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -83,10 +84,10 @@ void DeckMetaData::LoadStats()
|
|||||||
mGamesPlayed = stats->nbGames();
|
mGamesPlayed = stats->nbGames();
|
||||||
mPercentVictories = stats->percentVictories();
|
mPercentVictories = stats->percentVictories();
|
||||||
mVictories = static_cast<int>(mGamesPlayed * (mPercentVictories / 100.0f));
|
mVictories = static_cast<int>(mGamesPlayed * (mPercentVictories / 100.0f));
|
||||||
|
mStatsLoaded = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mStatsLoaded = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,6 +115,7 @@ void GameStateDuel::Start()
|
|||||||
{
|
{
|
||||||
if (mParent->players[i] == PLAYER_TYPE_HUMAN)
|
if (mParent->players[i] == PLAYER_TYPE_HUMAN)
|
||||||
{
|
{
|
||||||
|
DeckManager::EndInstance();
|
||||||
decksneeded = 1;
|
decksneeded = 1;
|
||||||
|
|
||||||
deckmenu = NEW DeckMenu(DUEL_MENU_CHOOSE_DECK, this, Fonts::OPTION_FONT, "Choose a Deck",
|
deckmenu = NEW DeckMenu(DUEL_MENU_CHOOSE_DECK, this, Fonts::OPTION_FONT, "Choose a Deck",
|
||||||
|
|||||||
Reference in New Issue
Block a user