tweaked MNguyens menu improvements by Mnguyen
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user