fixed deck name display for when "Random" player deck is chosen.
This commit is contained in:
@@ -46,7 +46,6 @@ protected:
|
||||
string getDescription();
|
||||
string getMetaInformation();
|
||||
DeckMetaData *mSelectedDeck;
|
||||
int mSelectedDeckId;
|
||||
bool mShowDetailsScreen;
|
||||
bool mAlwaysShowDetailsButton;
|
||||
bool mClosed;
|
||||
@@ -55,7 +54,15 @@ public:
|
||||
VerticalTextScroller * mScroller;
|
||||
bool mAutoTranslate;
|
||||
float mSelectionTargetY;
|
||||
|
||||
|
||||
int getSelectedDeckId() const
|
||||
{
|
||||
return mSelectedDeck->getDeckId();
|
||||
}
|
||||
|
||||
void selectDeck(int deckId, bool isAi);
|
||||
void selectRandomDeck(bool isAi);
|
||||
|
||||
//used for detailed info button
|
||||
JQuadPtr pspIcons[8];
|
||||
JTexture * pspIconsTexture;
|
||||
@@ -68,7 +75,6 @@ public:
|
||||
bool showDetailsScreen();
|
||||
|
||||
virtual bool isClosed() const { return mClosed; }
|
||||
virtual int getSelectedDeckId() const { return mSelectedDeckId; }
|
||||
|
||||
virtual void Render();
|
||||
virtual void Update(float dt);
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "DeckMenu.h"
|
||||
#include "DeckMenuItem.h"
|
||||
#include "DeckMetaData.h"
|
||||
#include "DeckManager.h"
|
||||
#include "InteractiveButton.h"
|
||||
#include "JTypes.h"
|
||||
#include "GameApp.h"
|
||||
@@ -65,8 +66,6 @@ JGuiController(JGE::GetInstance(), id, listener), fontId(fontId), mShowDetailsSc
|
||||
statsHeight = 50;
|
||||
statsWidth = 227;
|
||||
|
||||
mSelectedDeckId = startIndex;
|
||||
|
||||
avatarX = 232;
|
||||
avatarY = 11;
|
||||
|
||||
@@ -213,6 +212,21 @@ void DeckMenu::initMenuItems()
|
||||
#endif
|
||||
}
|
||||
|
||||
void DeckMenu::selectRandomDeck(bool isAi)
|
||||
{
|
||||
DeckManager *deckManager = DeckManager::GetInstance();
|
||||
vector<DeckMetaData *> *deckList = isAi ? deckManager->getAIDeckOrderList() : deckManager->getPlayerDeckOrderList();
|
||||
int random = (WRand() * 1000) % deckList->size();
|
||||
selectDeck( random, isAi );
|
||||
}
|
||||
|
||||
void DeckMenu::selectDeck(int deckId, bool isAi)
|
||||
{
|
||||
DeckManager *deckManager = DeckManager::GetInstance();
|
||||
vector<DeckMetaData *> *deckList = isAi ? deckManager->getAIDeckOrderList() : deckManager->getPlayerDeckOrderList();
|
||||
mSelectedDeck = deckList->at(deckId);
|
||||
}
|
||||
|
||||
void DeckMenu::Render()
|
||||
{
|
||||
JRenderer * renderer = JRenderer::GetInstance();
|
||||
@@ -243,7 +257,6 @@ void DeckMenu::Render()
|
||||
|
||||
if (currentMenuItem->hasFocus())
|
||||
{
|
||||
mSelectedDeckId = i;
|
||||
mSelectedDeck = metaData;
|
||||
WFont *mainFont = WResourceManager::Instance()->GetWFont(Fonts::MAIN_FONT);
|
||||
|
||||
|
||||
@@ -688,7 +688,7 @@ void GameStateDuel::Render()
|
||||
{
|
||||
opponentMenu->Render();
|
||||
// display the selected player deck name too
|
||||
string selectedPlayerDeckName = "Player Deck: " + deckmenu->getSelectedDeck()->getName();
|
||||
string selectedPlayerDeckName = "Player Deck: " + game->players[0]->deckName;
|
||||
mFont->DrawString( selectedPlayerDeckName.c_str(), 30, 40);
|
||||
}
|
||||
else if (deckmenu && !deckmenu->isClosed()) deckmenu->Render();
|
||||
@@ -831,9 +831,9 @@ void GameStateDuel::ButtonPressed(int controllerId, int controlId)
|
||||
|
||||
if (controlId == MENUITEM_RANDOM_PLAYER) // Random Player Deck Selection
|
||||
{
|
||||
vector<DeckMetaData *> * playerDeckList = deckManager->getPlayerDeckOrderList();
|
||||
deckNumber = playerDeckList->at(WRand() % (playerDeckList->size()))->getDeckId();
|
||||
game->loadPlayer(0, mParent->players[0], deckNumber, premadeDeck);
|
||||
deckmenu->selectRandomDeck(false);
|
||||
|
||||
game->loadPlayer(0, mParent->players[0], deckmenu->getSelectedDeckId(), premadeDeck);
|
||||
deckmenu->Close();
|
||||
setGamePhase(DUEL_STATE_CHOOSE_DECK2_TO_PLAY);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user