Shackled highlight border

This commit is contained in:
Anthony Calosa
2016-07-06 07:55:10 +08:00
parent 935849142c
commit 1d80d97d22
4 changed files with 34 additions and 1 deletions

View File

@@ -168,6 +168,7 @@ public:
MTGCardInstance * myPair;
MTGCardInstance * createSnapShot();
MTGCardInstance * storedSourceCard;
MTGCardInstance * shackled;
MTGCardInstance * isDefenser();
int initAttackersDefensers();
MTGCardInstance * getNextOpponent(MTGCardInstance * previous=NULL);

View File

@@ -6531,6 +6531,8 @@ void AShackle::resolveShackle()
previousController->game->putInZone(_target, _target->currentZone,
source->controller()->game->inPlay);
Shackled = _target;
source->shackled = Shackled;
Shackled->shackled = source;
}
}
@@ -6538,14 +6540,19 @@ void AShackle::returntoOwner(MTGCardInstance* _target) {
MTGCardInstance * cardToReturn = _target;
if(!cardToReturn)
{
if (source)
source->shackled = NULL;
this->forceDestroy = 1;
return;
}
if(previousController && cardToReturn->isInPlay(game))
{
cardToReturn->shackled = NULL;
cardToReturn->controller()->game->putInZone(_target, _target->currentZone,
previousController->game->inPlay);
}
if (source)
source->shackled = NULL;
this->forceDestroy = 1;
Shackled = NULL;
return;

View File

@@ -274,8 +274,32 @@ void CardGui::Render()
{
if(cv->mHasFocus)
{
highlightborder->SetColor(ARGB(200,57,28,248));
highlightborder->SetColor(ARGB(200,57,28,248));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
}
}
}
if(card->shackled && card->shackled->isInPlay(game) && highlightborder)
{
if(mHasFocus)
{
if(card->has(Constants::SHACKLER))
highlightborder->SetColor(ARGB(200,7,98,248));
else
highlightborder->SetColor(ARGB(200,57,28,248));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
}
if(CardView* cv = dynamic_cast<CardView*>(card->shackled->view))
{
if(cv->mHasFocus)
{
if(!card->shackled->has(Constants::SHACKLER))
highlightborder->SetColor(ARGB(200,7,98,248));
else
highlightborder->SetColor(ARGB(200,57,28,248));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
}
}
}

View File

@@ -211,6 +211,7 @@ void MTGCardInstance::initMTGCI()
storedCard = NULL;
storedSourceCard = NULL;
myPair = NULL;
shackled = NULL;
miracle = false;
countTrini = 0;
imprintedCards.clear();