added a few tweaks MNguyen sent me for his deck manager
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
#include "../include/SimpleMenu.h"
|
#include "../include/SimpleMenu.h"
|
||||||
#include "../include/DeckStats.h"
|
#include "../include/DeckStats.h"
|
||||||
#include "../include/DeckMetaData.h"
|
#include "../include/DeckMetaData.h"
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
int GameState::fillDeckMenu(SimpleMenu * _menu, string path, string smallDeckPrefix, Player * statsPlayer){
|
int GameState::fillDeckMenu(SimpleMenu * _menu, string path, string smallDeckPrefix, Player * statsPlayer){
|
||||||
DeckMetaDataList * metas = DeckMetaDataList::decksMetaData;
|
DeckMetaDataList * metas = DeckMetaDataList::decksMetaData;
|
||||||
@@ -102,6 +102,8 @@ int GameState::fillDeckMenu(vector<int> * deckIdList, SimpleMenu * _menu, string
|
|||||||
|
|
||||||
deckNameVector.sort();
|
deckNameVector.sort();
|
||||||
int deckNumber = 1;
|
int deckNumber = 1;
|
||||||
|
deckIdList->clear();
|
||||||
|
|
||||||
for (list<string>::iterator i = deckNameVector.begin(); i != deckNameVector.end(); i++)
|
for (list<string>::iterator i = deckNameVector.begin(); i != deckNameVector.end(); i++)
|
||||||
{
|
{
|
||||||
string deckName = *i;
|
string deckName = *i;
|
||||||
|
|||||||
@@ -104,8 +104,8 @@ void GameStateDeckViewer::switchDisplay(){
|
|||||||
void GameStateDeckViewer::updateDecks(){
|
void GameStateDeckViewer::updateDecks(){
|
||||||
SAFE_DELETE(welcome_menu);
|
SAFE_DELETE(welcome_menu);
|
||||||
welcome_menu = NEW SimpleMenu(10,this,Constants::MENU_FONT,20,20);
|
welcome_menu = NEW SimpleMenu(10,this,Constants::MENU_FONT,20,20);
|
||||||
|
DeckManager * deckManager = DeckManager::GetInstance();
|
||||||
nbDecks = fillDeckMenu(welcome_menu,options.profileFile());
|
nbDecks = fillDeckMenu( deckManager->getPlayerDeckOrderList(), welcome_menu,options.profileFile());
|
||||||
deckNum = 0;
|
deckNum = 0;
|
||||||
newDeckname = "";
|
newDeckname = "";
|
||||||
welcome_menu->Add(nbDecks+1, _("--NEW--").c_str());
|
welcome_menu->Add(nbDecks+1, _("--NEW--").c_str());
|
||||||
@@ -1431,6 +1431,7 @@ int GameStateDeckViewer::loadDeck(int deckid){
|
|||||||
void GameStateDeckViewer::ButtonPressed(int controllerId, int controlId)
|
void GameStateDeckViewer::ButtonPressed(int controllerId, int controlId)
|
||||||
{
|
{
|
||||||
int deckIdNumber = controlId;
|
int deckIdNumber = controlId;
|
||||||
|
int deckListSize = 0;
|
||||||
DeckManager *deckManager = DeckManager::GetInstance();
|
DeckManager *deckManager = DeckManager::GetInstance();
|
||||||
vector<int> * deckList;
|
vector<int> * deckList;
|
||||||
switch(controllerId){
|
switch(controllerId){
|
||||||
@@ -1461,15 +1462,15 @@ void GameStateDeckViewer::ButtonPressed(int controllerId, int controlId)
|
|||||||
mStage = STAGE_WELCOME;
|
mStage = STAGE_WELCOME;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
loadDeck(deckIdNumber);
|
|
||||||
mStage = STAGE_WAITING;
|
mStage = STAGE_WAITING;
|
||||||
deckNum = controlId;
|
|
||||||
deckList = deckManager->getPlayerDeckOrderList();
|
deckList = deckManager->getPlayerDeckOrderList();
|
||||||
//if (deckList->size() > 0 && controlId < deckList->size()) removed this hopefully with no side effects due to not being able to compile for psp because of sighed and unsigned int comparison.
|
deckListSize = deckList->size();
|
||||||
// deckIdNumber = deckList->at(controlId);
|
|
||||||
/*else*/
|
|
||||||
|
|
||||||
|
if (deckListSize > 0 && controlId < deckListSize)
|
||||||
|
deckIdNumber = deckList->at(controlId - 1);
|
||||||
|
else
|
||||||
deckIdNumber = controlId;
|
deckIdNumber = controlId;
|
||||||
|
|
||||||
loadDeck(deckIdNumber);
|
loadDeck(deckIdNumber);
|
||||||
mStage = STAGE_WAITING;
|
mStage = STAGE_WAITING;
|
||||||
deckNum = controlId;
|
deckNum = controlId;
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ void GameStateDuel::Start()
|
|||||||
fillDeckMenu(deckmenu,RESPATH"/player/premade");
|
fillDeckMenu(deckmenu,RESPATH"/player/premade");
|
||||||
}
|
}
|
||||||
deckmenu->Add(-1,_("New Deck...").c_str());
|
deckmenu->Add(-1,_("New Deck...").c_str());
|
||||||
|
deckmenu->Add(-2, "Main Menu", "Return to Main Menu" );
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < 2; ++i){
|
for (int i = 0; i < 2; ++i){
|
||||||
@@ -225,7 +226,7 @@ void GameStateDuel::ensureOpponentMenu(){
|
|||||||
opponentMenu->Add(-1,"Evil Twin", "Can you play against yourself?");
|
opponentMenu->Add(-1,"Evil Twin", "Can you play against yourself?");
|
||||||
DeckManager * deckManager = DeckManager::GetInstance();
|
DeckManager * deckManager = DeckManager::GetInstance();
|
||||||
fillDeckMenu( deckManager->getAIDeckOrderList(), opponentMenu, RESPATH"/ai/baka", "ai_baka", mPlayers[0]);
|
fillDeckMenu( deckManager->getAIDeckOrderList(), opponentMenu, RESPATH"/ai/baka", "ai_baka", mPlayers[0]);
|
||||||
opponentMenu->Add(-2,"Cancel", "Back to Main Menu");
|
opponentMenu->Add(-2,"Cancel", "Choose a different player deck");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -392,9 +393,10 @@ void GameStateDuel::Update(float dt)
|
|||||||
playerdata->taskList->save();
|
playerdata->taskList->save();
|
||||||
SAFE_DELETE(playerdata);
|
SAFE_DELETE(playerdata);
|
||||||
SAFE_DELETE(menu);
|
SAFE_DELETE(menu);
|
||||||
|
}
|
||||||
|
}
|
||||||
mParent->DoTransition(TRANSITION_FADE,GAME_STATE_MENU);
|
mParent->DoTransition(TRANSITION_FADE,GAME_STATE_MENU);
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (JGE_BTN_OK == mEngine->ReadButton())
|
if (JGE_BTN_OK == mEngine->ReadButton())
|
||||||
@@ -485,6 +487,7 @@ void GameStateDuel::Render()
|
|||||||
void GameStateDuel::ButtonPressed(int controllerId, int controlId) {
|
void GameStateDuel::ButtonPressed(int controllerId, int controlId) {
|
||||||
int deckNumber = controlId;
|
int deckNumber = controlId;
|
||||||
DeckManager * deckManager = DeckManager::GetInstance();
|
DeckManager * deckManager = DeckManager::GetInstance();
|
||||||
|
int aiDeckSize = deckManager->getAIDeckOrderList()->size();
|
||||||
switch (controllerId){
|
switch (controllerId){
|
||||||
case DUEL_MENU_CHOOSE_OPPONENT:
|
case DUEL_MENU_CHOOSE_OPPONENT:
|
||||||
{
|
{
|
||||||
@@ -495,16 +498,17 @@ void GameStateDuel::ButtonPressed(int controllerId, int controlId) {
|
|||||||
mGamePhase = DUEL_STATE_CHOOSE_DECK2_TO_PLAY;
|
mGamePhase = DUEL_STATE_CHOOSE_DECK2_TO_PLAY;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// cancel option. return to main menu
|
// cancel option. return to player deck selection
|
||||||
|
|
||||||
if (controlId == -2)
|
if (controlId == -2)
|
||||||
{
|
{
|
||||||
opponentMenu->Close();
|
opponentMenu->Close();
|
||||||
mParent->SetNextState( DUEL_STATE_BACK_TO_MAIN_MENU );
|
deckmenu->Close();
|
||||||
|
mParent->SetNextState( DUEL_STATE_CHOOSE_DECK1 );
|
||||||
mGamePhase = DUEL_MENU_GAME_MENU;
|
mGamePhase = DUEL_MENU_GAME_MENU;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if ( controlId != -1 && deckManager->getAIDeckOrderList()->size() > 0) // evil twin
|
else if ( controlId != -1 && aiDeckSize > 0) // evil twin
|
||||||
deckNumber = deckManager->getAIDeckOrderList()->at( controlId - 1 );
|
deckNumber = deckManager->getAIDeckOrderList()->at( controlId - 1 );
|
||||||
|
|
||||||
loadPlayer(1,deckNumber,1);
|
loadPlayer(1,deckNumber,1);
|
||||||
@@ -517,6 +521,13 @@ void GameStateDuel::ButtonPressed(int controllerId, int controlId) {
|
|||||||
}
|
}
|
||||||
case DUEL_MENU_CHOOSE_DECK:
|
case DUEL_MENU_CHOOSE_DECK:
|
||||||
{
|
{
|
||||||
|
if (controlId == -2 ) // user clicked on "Cancel"
|
||||||
|
{
|
||||||
|
if ( deckmenu)
|
||||||
|
deckmenu->Close();
|
||||||
|
mGamePhase = DUEL_STATE_BACK_TO_MAIN_MENU;
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (controlId < 0){
|
if (controlId < 0){
|
||||||
mParent->SetNextState(GAME_STATE_DECK_VIEWER);
|
mParent->SetNextState(GAME_STATE_DECK_VIEWER);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
Version="9.00"
|
Version="9.00"
|
||||||
Name="mtg"
|
Name="mtg"
|
||||||
ProjectGUID="{53024371-2293-4D40-8ECF-FCB470B50DA1}"
|
ProjectGUID="{53024371-2293-4D40-8ECF-FCB470B50DA1}"
|
||||||
|
RootNamespace="mtg"
|
||||||
TargetFrameworkVersion="131072"
|
TargetFrameworkVersion="131072"
|
||||||
>
|
>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
@@ -476,6 +477,10 @@
|
|||||||
RelativePath=".\src\DeckDataWrapper.cpp"
|
RelativePath=".\src\DeckDataWrapper.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\src\DeckManager.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\src\DeckMetaData.cpp"
|
RelativePath=".\src\DeckMetaData.cpp"
|
||||||
>
|
>
|
||||||
@@ -869,10 +874,6 @@
|
|||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
Filter="h;hpp;hxx;hm;inl"
|
||||||
>
|
>
|
||||||
<File
|
|
||||||
RelativePath=".\include\ActionElement.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath=".\include\ActionLayer.h"
|
RelativePath=".\include\ActionLayer.h"
|
||||||
>
|
>
|
||||||
@@ -945,6 +946,10 @@
|
|||||||
RelativePath=".\include\DeckDataWrapper.h"
|
RelativePath=".\include\DeckDataWrapper.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\include\DeckManager.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\include\DeckMetaData.h"
|
RelativePath=".\include\DeckMetaData.h"
|
||||||
>
|
>
|
||||||
@@ -1258,7 +1263,27 @@
|
|||||||
Name="Resource Files"
|
Name="Resource Files"
|
||||||
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
>
|
>
|
||||||
|
<File
|
||||||
|
RelativePath=".\bin\Res\sets\primitives\mtg.txt"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\bin\Res\sets\primitives\unofficial.txt"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\bin\Res\sets\primitives\zethaddon.txt"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<File
|
||||||
|
RelativePath=".\include\ActionElement.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\ClassDiagram1.cd"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
<Globals>
|
<Globals>
|
||||||
</Globals>
|
</Globals>
|
||||||
|
|||||||
Reference in New Issue
Block a user