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:
techdragon.nguyen@gmail.com
2011-04-21 08:32:32 +00:00
parent 29eea1d39c
commit 8ed84aa97d
3 changed files with 4 additions and 4 deletions

View File

@@ -271,14 +271,12 @@ void DeckMenu::Render()
mainFont->DrawString(text.c_str(), descX, descY);
mFont->SetColor(ARGB(255,255,255,255));
// fill in the statistical portion
if (currentMenuItem->meta)
{
ostringstream oss;
oss << _("Deck: ") << currentMenuItem->meta->getName() << endl;
oss << currentMenuItem->meta->getStatsSummary();
mainFont->DrawString(oss.str(), statsX, statsY);
}
}

View File

@@ -56,7 +56,7 @@ void DeckMetaData::LoadStats()
DeckStat * opponentDeckStats = stats->getDeckStat(mStatsFilename);
if (opponentDeckStats)
{
mPercentVictories = stats->percentVictories(mStatsFilename);
mPercentVictories = opponentDeckStats->percentVictories();
mVictories = opponentDeckStats->victories;
mGamesPlayed = opponentDeckStats->nbgames;
mColorIndex = opponentDeckStats->manaColorIndex;
@@ -73,6 +73,7 @@ void DeckMetaData::LoadStats()
{
mDifficulty = EASY;
}
mStatsLoaded = true;
}
}
else
@@ -83,10 +84,10 @@ void DeckMetaData::LoadStats()
mGamesPlayed = stats->nbGames();
mPercentVictories = stats->percentVictories();
mVictories = static_cast<int>(mGamesPlayed * (mPercentVictories / 100.0f));
mStatsLoaded = true;
}
}
mStatsLoaded = true;
}
}

View File

@@ -115,6 +115,7 @@ void GameStateDuel::Start()
{
if (mParent->players[i] == PLAYER_TYPE_HUMAN)
{
DeckManager::EndInstance();
decksneeded = 1;
deckmenu = NEW DeckMenu(DUEL_MENU_CHOOSE_DECK, this, Fonts::OPTION_FONT, "Choose a Deck",