in this commit suspend now states the amount of turns in the menutext....
made changes to some of the simple menu items, made the simple menu not draw massive horizontal and vertical poles, that look was extremely dated.
This commit is contained in:
@@ -66,7 +66,6 @@ public:
|
||||
MTGEventBonus(GameObserver* observer, int _id);
|
||||
virtual MTGEventBonus * clone() const;
|
||||
};
|
||||
|
||||
class MTGPutInPlayRule: public PermanentAbility
|
||||
{
|
||||
public:
|
||||
@@ -182,15 +181,7 @@ public:
|
||||
string suspendmenu;
|
||||
virtual ostream& toString(ostream& out) const;
|
||||
MTGSuspendRule(GameObserver* observer, int _id);
|
||||
const char * getMenuText()
|
||||
{
|
||||
suspendmenu = "suspend";
|
||||
//char buffer[20];
|
||||
//sprintf(buffer,"-%i",card->suspendedTime);
|
||||
//suspendmenu.append(buffer);
|
||||
//TODO:make this work so it shows "Suspend-the amount of turns"
|
||||
return suspendmenu.c_str();
|
||||
}
|
||||
const char * getMenuText();
|
||||
virtual MTGSuspendRule * clone() const;
|
||||
};
|
||||
|
||||
|
||||
@@ -39,6 +39,8 @@ public:
|
||||
string deckName;
|
||||
string phaseRing;
|
||||
int offerInterruptOnPhase;
|
||||
int skippingTurn;
|
||||
int extraTurn;
|
||||
Player(GameObserver *observer, string deckFile, string deckFileSmall, MTGDeck * deck = NULL);
|
||||
virtual ~Player();
|
||||
virtual void setObserver(GameObserver*g);
|
||||
|
||||
@@ -76,6 +76,12 @@ struct WEventDamageStackResolved : public WEvent {
|
||||
WEventDamageStackResolved();
|
||||
};
|
||||
|
||||
struct WEventPhasePreChange : public WEvent {
|
||||
Phase * from;
|
||||
Phase * to;
|
||||
bool eventChanged;
|
||||
WEventPhasePreChange(Phase * from,Phase * to);
|
||||
};
|
||||
struct WEventPhaseChange : public WEvent {
|
||||
Phase * from;
|
||||
Phase * to;
|
||||
|
||||
@@ -274,8 +274,6 @@ MTGEventBonus * MTGEventBonus::clone() const
|
||||
{
|
||||
return NEW MTGEventBonus(*this);
|
||||
}
|
||||
|
||||
//
|
||||
MTGPutInPlayRule::MTGPutInPlayRule(GameObserver* observer, int _id) :
|
||||
PermanentAbility(observer, _id)
|
||||
{
|
||||
@@ -452,6 +450,7 @@ int MTGPutInPlayRule::reactToClick(MTGCardInstance * card)
|
||||
if (!card->has(Constants::STORM))
|
||||
{
|
||||
copy->X = spell->computeX(copy);
|
||||
copy->castX = copy->X;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -584,6 +583,7 @@ int MTGKickerRule::reactToClick(MTGCardInstance * card)
|
||||
if (!card->has(Constants::STORM))
|
||||
{
|
||||
copy->X = spell->computeX(copy);
|
||||
copy->castX = copy->X;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -738,6 +738,7 @@ int MTGAlternativeCostRule::reactToClick(MTGCardInstance * card, ManaCost *alter
|
||||
{
|
||||
ManaCost * c = spellCost->Diff(alternateCost);
|
||||
copy->X = c->getCost(Constants::NB_Colors);
|
||||
copy->castX = copy->X;
|
||||
delete c;
|
||||
}
|
||||
}
|
||||
@@ -908,8 +909,15 @@ int MTGSuspendRule::isReactingToClick(MTGCardInstance * card, ManaCost * mana)
|
||||
Player * player = game->currentlyActing();
|
||||
ManaCost * alternateManaCost = card->getManaCost()->suspend;
|
||||
|
||||
if (!player->game->hand->hasCard(card))
|
||||
if (!player->game->hand->hasCard(card) || !alternateManaCost)
|
||||
return 0;
|
||||
suspendmenu = "suspend";
|
||||
char buffer[20];
|
||||
if(alternateManaCost->hasX())
|
||||
sprintf(buffer,"- X");
|
||||
else
|
||||
sprintf(buffer,"-%i",card->suspendedTime);
|
||||
suspendmenu.append(buffer);
|
||||
return MTGAlternativeCostRule::isReactingToClick( card, mana, alternateManaCost );
|
||||
}
|
||||
|
||||
@@ -990,6 +998,11 @@ int MTGSuspendRule::reactToClick(MTGCardInstance * card)
|
||||
return 1;
|
||||
}
|
||||
|
||||
const char * MTGSuspendRule::getMenuText()
|
||||
{
|
||||
return suspendmenu.c_str();
|
||||
}
|
||||
|
||||
ostream& MTGSuspendRule::toString(ostream& out) const
|
||||
{
|
||||
out << "MTGSuspendRule ::: (";
|
||||
@@ -1107,6 +1120,7 @@ int MTGMorphCostRule::reactToClick(MTGCardInstance * card)
|
||||
if (!card->has(Constants::STORM))
|
||||
{
|
||||
copy->X = spell->computeX(copy);
|
||||
copy->castX = copy->X;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ Player::Player(GameObserver *observer, string file, string fileSmall, MTGDeck *
|
||||
mAvatarTex = NULL;
|
||||
type_as_damageable = DAMAGEABLE_PLAYER;
|
||||
playMode = MODE_HUMAN;
|
||||
skippingTurn = 0;
|
||||
extraTurn = 0;
|
||||
if (deck != NULL)
|
||||
{
|
||||
game = NEW MTGPlayerCards(deck);
|
||||
|
||||
@@ -11,8 +11,13 @@ namespace
|
||||
const float kPoleWidth = 7;
|
||||
const float kVerticalMargin = 16;
|
||||
const float kHorizontalMargin = 30;
|
||||
const float kLineHeight = 20;
|
||||
|
||||
|
||||
#ifdef TOUCH_ENABLED
|
||||
const float kLineHeight = 30;
|
||||
#else
|
||||
const float kLineHeight = 20;
|
||||
#endif
|
||||
//For the "Classic" Theme
|
||||
const float kSpadeHeightOffset = 4;
|
||||
const float kSpadeWidthOffset = 9;
|
||||
@@ -130,7 +135,7 @@ void SimpleMenu::Render()
|
||||
|
||||
for (int i = 0; i < mCount; ++i)
|
||||
{
|
||||
float width = (static_cast<SimpleMenuItem*> (mObjects[i]))->GetWidth();
|
||||
float width = (static_cast<SimpleMenuItem*> (mObjects[i]))->GetWidth() + 15;
|
||||
if (mWidth < width) mWidth = width;
|
||||
}
|
||||
if ((!title.empty()) && (mWidth < titleFont->GetStringWidth(title.c_str())))
|
||||
@@ -145,7 +150,7 @@ void SimpleMenu::Render()
|
||||
|
||||
for (int i = 0; i < mCount; ++i)
|
||||
{
|
||||
float y = mY + kVerticalMargin + i * kLineHeight;
|
||||
float y = mY + kVerticalMargin + i * kLineHeight + 3;//spacing between first object and title bar
|
||||
SimpleMenuItem * smi = static_cast<SimpleMenuItem*> (mObjects[i]);
|
||||
smi->Relocate(mX + mWidth / 2, y);
|
||||
if (smi->hasFocus()) sY = y;
|
||||
@@ -163,17 +168,24 @@ void SimpleMenu::Render()
|
||||
renderer->FillRect(mX, mY, mWidth, height, ARGB(180,0,0,0));
|
||||
|
||||
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA);
|
||||
drawVertPole(mX, mY - 16, height + 32);
|
||||
drawVertPole(mX + mWidth, mY - 16, height + 32);
|
||||
drawHorzPole(mX - 16, mY, mWidth + 32);
|
||||
drawHorzPole(mX - 25, mY + height, mWidth + 50);
|
||||
drawVertPole(mX, mY, height);
|
||||
drawVertPole(mX + mWidth, mY, height);
|
||||
drawHorzPole(mX, mY, mWidth);
|
||||
drawHorzPole(mX, mY + height, mWidth);
|
||||
//drawVertPole(mX, mY - 16, height + 32);
|
||||
//drawVertPole(mX + mWidth, mY - 16, height + 32);
|
||||
//drawHorzPole(mX - 16, mY, mWidth + 32);
|
||||
//drawHorzPole(mX - 25, mY + height, mWidth + 50);
|
||||
|
||||
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE);
|
||||
stars->Render();
|
||||
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA);
|
||||
|
||||
mFont->SetScale(1.0f);
|
||||
if (!title.empty()) titleFont->DrawString(title.c_str(), mX + mWidth / 2, mY - 3, JGETEXT_CENTER);
|
||||
if (!title.empty())
|
||||
{
|
||||
mFont->SetScale(1.5f);
|
||||
titleFont->DrawString(title.c_str(), mX + mWidth / 2, mY - 3, JGETEXT_CENTER);
|
||||
}
|
||||
for (int i = startId; i < startId + maxItems; i++)
|
||||
{
|
||||
if (i > mCount - 1) break;
|
||||
@@ -190,6 +202,7 @@ void SimpleMenu::Render()
|
||||
(static_cast<SimpleMenuItem*> (mObjects[i]))->RenderWithOffset(-kLineHeight * startId);
|
||||
}
|
||||
}
|
||||
mFont->SetScale(1.0f);
|
||||
}
|
||||
|
||||
void SimpleMenu::Update(float dt)
|
||||
|
||||
@@ -47,6 +47,12 @@ WEventPhaseChange::WEventPhaseChange(Phase * from, Phase * to) :
|
||||
{
|
||||
}
|
||||
|
||||
WEventPhasePreChange::WEventPhasePreChange(Phase * from, Phase * to) :
|
||||
WEvent(CHANGE_PHASE), from(from), to(to)
|
||||
{
|
||||
eventChanged = false;
|
||||
}
|
||||
|
||||
WEventCardTap::WEventCardTap(MTGCardInstance * card, bool before, bool after) :
|
||||
WEventCardUpdate(card), before(before), after(after)
|
||||
{
|
||||
|
||||
@@ -1967,7 +1967,7 @@ void WGuiFilterItem::updateValue()
|
||||
SAFE_DELETE(mParent->subMenu);
|
||||
mState = STATE_CHOOSE_TYPE;
|
||||
SAFE_DELETE(mParent->subMenu);
|
||||
mParent->subMenu = NEW SimpleMenu(JGE::GetInstance(), -1234, this, Fonts::MENU_FONT, 20, 20, "Filter By...", 10);
|
||||
mParent->subMenu = NEW SimpleMenu(JGE::GetInstance(), -1234, this, Fonts::MAIN_FONT, 30, 30, "Filter By...", 6);
|
||||
if (mParent->isAvailable(FILTER_SET))
|
||||
{
|
||||
mParent->subMenu->Add(FILTER_SET, "Set");
|
||||
@@ -2050,6 +2050,7 @@ void WGuiFilterItem::updateValue()
|
||||
mParent->addArg("Legendary", "t:Legendary;");
|
||||
mParent->addArg("Sorcery", "t:Sorcery;");
|
||||
mParent->addArg("Tribal", "t:Tribal;");
|
||||
mParent->addArg("Planeswalker", "t:Planeswalker;");
|
||||
|
||||
}
|
||||
else if (filterType == FILTER_SUBTYPE)
|
||||
|
||||
Reference in New Issue
Block a user