tweaked MNguyens menu improvements by Mnguyen

This commit is contained in:
omegablast2002@yahoo.com
2010-09-17 09:07:09 +00:00
parent 5939cbded8
commit 29baed7d4a
3 changed files with 32 additions and 19 deletions
+12 -3
View File
@@ -7,8 +7,13 @@ using namespace std;
class DeckManager class DeckManager
{ {
protected: private:
static bool instanceFlag;
static DeckManager *mInstance; static DeckManager *mInstance;
DeckManager()
{
//private constructor
}
public: public:
@@ -23,6 +28,10 @@ public:
static DeckManager * GetInstance(); static DeckManager * GetInstance();
static void EndInstance(); static void EndInstance();
DeckManager();
~DeckManager(); ~DeckManager()
{
instanceFlag = false;
}
}; };
+15 -13
View File
@@ -1,14 +1,6 @@
#include "../include/DeckManager.h" #include "../include/DeckManager.h"
#include <JRenderer.h> #include <JRenderer.h>
DeckManager::DeckManager()
{
}
DeckManager::~DeckManager()
{
}
void DeckManager::updateMetaDataList( vector<DeckMetaData *> * refList, bool isAI ) void DeckManager::updateMetaDataList( vector<DeckMetaData *> * refList, bool isAI )
{ {
if (refList) if (refList)
@@ -32,16 +24,26 @@ vector<DeckMetaData *> * DeckManager::getAIDeckOrderList()
DeckManager * DeckManager::mInstance = NULL; DeckManager * DeckManager::mInstance = NULL;
bool DeckManager::instanceFlag = false;
void DeckManager::EndInstance()
{
if (mInstance)
{
mInstance->aiDeckOrderList.clear();
mInstance->playerDeckOrderList.clear();
SAFE_DELETE( mInstance );
}
}
DeckManager* DeckManager::GetInstance() DeckManager* DeckManager::GetInstance()
{ {
if ( mInstance == NULL ) if ( !instanceFlag )
{
mInstance = new DeckManager(); mInstance = new DeckManager();
return mInstance; instanceFlag = true;
} }
void DeckManager::EndInstance() return mInstance;
{
SAFE_DELETE(mInstance);
} }
+2
View File
@@ -201,6 +201,7 @@ void GameStateDuel::End()
JRenderer::GetInstance()->EnableVSync(false); JRenderer::GetInstance()->EnableVSync(false);
if (mPlayers[0] && mPlayers[1]) mPlayers[0]->End(); if (mPlayers[0] && mPlayers[1]) mPlayers[0]->End();
GameObserver::EndInstance(); GameObserver::EndInstance();
DeckManager::EndInstance();
game = NULL; game = NULL;
premadeDeck = false; premadeDeck = false;
@@ -243,6 +244,7 @@ void GameStateDuel::ensureOpponentMenu(){
vector<DeckMetaData* > opponentDeckList = fillDeckMenu( opponentMenu, RESPATH"/ai/baka", "ai_baka", mPlayers[0]); vector<DeckMetaData* > opponentDeckList = fillDeckMenu( opponentMenu, RESPATH"/ai/baka", "ai_baka", mPlayers[0]);
deckManager->updateMetaDataList(&opponentDeckList, true); deckManager->updateMetaDataList(&opponentDeckList, true);
opponentMenu->Add( MENUITEM_CANCEL, "Cancel", "Choose a different player deck"); opponentMenu->Add( MENUITEM_CANCEL, "Cancel", "Choose a different player deck");
opponentDeckList.clear();
} }
} }