support for wish cards and deck sideboard

This commit is contained in:
Anthony Calosa
2017-03-07 23:42:34 +08:00
parent 24e3fd3267
commit 030dca051a
16 changed files with 431 additions and 99 deletions

View File

@@ -411,8 +411,8 @@ private:
for (int i = 0; i < 2; i++)
{
Player * p = card->getObserver()->players[i];
MTGGameZone * zones[] = { p->game->inPlay, p->game->graveyard, p->game->hand, p->game->library, p->game->exile };
for (int k = 0; k < 5; k++)
MTGGameZone * zones[] = { p->game->inPlay, p->game->graveyard, p->game->hand, p->game->library, p->game->exile, p->game->sideboard };//wish cards use sideboard
for (int k = 0; k < 6; k++)
{
MTGGameZone * zone = zones[k];
if (tc->targetsZone(zone, card))

View File

@@ -29,7 +29,11 @@ enum
MENU_DECK_SELECTION = 10,
MENU_DECK_BUILDER = 11,
MENU_FIRST_DUEL_SUBMENU = 102,
MENU_LANGUAGE_SELECTION = 103
MENU_LANGUAGE_SELECTION = 103,
SBMENU_CHOICE = 802,
SBMENU_ADD_NORMAL = 803,
SBMENU_ADD_SB = 804,
SBMENU_ADD_CANCEL = 805
};
// enums for menu options
@@ -71,18 +75,20 @@ private:
DeckViewerStages mStage;
JMusic * bgMusic;
InteractiveButton *toggleDeckButton, *sellCardButton, *statsPrevButton, *filterButton, *toggleViewButton, *toggleUpButton, *toggleDownButton, *toggleLeftButton, *toggleRightButton;
InteractiveButton *toggleDeckButton, *sbButton, *sellCardButton, *statsPrevButton, *filterButton, *toggleViewButton, *toggleUpButton, *toggleDownButton, *toggleLeftButton, *toggleRightButton;
WGuiFilters * filterMenu;
WSrcDeckViewer * source;
DeckEditorMenu * welcome_menu;
SimpleMenu * subMenu;
SimpleMenu * sbMenu;
DeckEditorMenu * deckMenu;
PriceList* pricelist;
PlayerData * playerdata;
DeckDataWrapper * myDeck;
DeckDataWrapper * myCollection;
DeckDataWrapper * mySideboard;
StatsWrapper * mStatsWrapper;
int hudAlpha;
@@ -105,6 +111,7 @@ private:
void RenderButtons();
void setupView(AvailableView view, DeckDataWrapper *deck);
void toggleView();
void insertSideBoard();
public:
GameStateDeckViewer(GameApp* parent);
virtual ~GameStateDeckViewer();
@@ -112,9 +119,12 @@ public:
void updateFilters();
void rebuildFilters();
void toggleCollection();
void toggleSideBoard();
void Start();
virtual void End();
void addRemove(MTGCard * card);
void SBaddRemove(MTGCard * card);
void choiceAddRemove(MTGCard * card);
virtual void Update(float dt);
void renderOnScreenBasicInfo();
void renderSlideBar();

View File

@@ -22,17 +22,18 @@ using std::string;
const int kDismissButtonId = 10000;
const int kToggleDeckActionId = 10001;
const int kSellCardActionId = 10002;
const int kMenuButtonId = 10003;
const int kFilterButtonId = 10004;
const int kNextStatsButtonId = 10005;
const int kPrevStatsButtonId = 10006;
const int kCycleCardsButtonId = 10007;
const int kShowCardListButtonId = 10008;
const int kSwitchViewButton = 10009;
const int kToggleUpButton = 10010;
const int kToggleDownButton = 10011;
const int kToggleLeftButton = 10012;
const int kToggleRightButton = 10013;
const int kSBActionId = 10003;
const int kMenuButtonId = 10004;
const int kFilterButtonId = 10005;
const int kNextStatsButtonId = 10006;
const int kPrevStatsButtonId = 10007;
const int kCycleCardsButtonId = 10008;
const int kShowCardListButtonId = 10009;
const int kSwitchViewButton = 10010;
const int kToggleUpButton = 10011;
const int kToggleDownButton = 10012;
const int kToggleLeftButton = 10013;
const int kToggleRightButton = 10014;
class InteractiveButton: public SimpleButton
{

View File

@@ -214,6 +214,7 @@ public:
string meta_desc;
string meta_name;
vector<string> meta_AIHints;
vector<string> Sideboard;
string meta_unlockRequirements;
int meta_id;
@@ -230,6 +231,7 @@ public:
int removeAll();
int add(MTGCard * card);
int remove(MTGCard * card);
void replaceSB(vector<string> newSB = vector<string>());
string getFilename();
int save();
int save(const string& destFileName, bool useExpandedDescriptions, const string& deckTitle, const string& deckDesc);

View File

@@ -80,6 +80,13 @@ class MTGGameZone {
OWNER_REVEAL = 76,
TARGETED_PLAYER_REVEAL = 77,
MY_SIDEBOARD = 81,
OPPONENT_SIDEBOARD = 82,
TARGET_OWNER_SIDEBOARD = 83,
TARGET_CONTROLLER_SIDEBOARD = 84,
SIDEBOARD = 85,
OWNER_SIDEBOARD = 86,
TARGETED_PLAYER_SIDEBOARD = 87,
};
Player * owner;
@@ -204,6 +211,7 @@ public:
MTGGameZone * garbage;
MTGGameZone * garbageLastTurn;
MTGGameZone * reveal;
MTGGameZone * sideboard;
MTGGameZone * temp;
MTGPlayerCards();