highlight border fix

all selected/targeted cards ar bordered red while the source is green
border
This commit is contained in:
Anthony Calosa
2017-03-05 22:38:53 +08:00
parent e5ec92ac2a
commit 84fe9fbc74
2 changed files with 21 additions and 8 deletions

View File

@@ -241,6 +241,7 @@ void StackAbility::Render()
MTGCardInstance * source = ability->source; MTGCardInstance * source = ability->source;
string alt1 = source->getName(); string alt1 = source->getName();
vector<JQuadPtr> mytargetQuads; vector<JQuadPtr> mytargetQuads;
vector<MTGCardInstance*> myClones;
int fmLibrary = 0; int fmLibrary = 0;
int force = 0; int force = 0;
@@ -250,10 +251,7 @@ void StackAbility::Render()
{ {
Targetable * t = ability->getActionTc()->getNextTarget(); Targetable * t = ability->getActionTc()->getNextTarget();
if (t) if (t)
{
source->forcedBorderA = 1;
_target = t; _target = t;
}
//test vector quads //test vector quads
@@ -266,7 +264,8 @@ void StackAbility::Render()
{ {
if( ((Damageable *)(tt))->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE ) if( ((Damageable *)(tt))->type_as_damageable == Damageable::DAMAGEABLE_MTGCARDINSTANCE )
{ {
((MTGCardInstance*)(tt))->forcedBorderB = 1; //fill vector
myClones.push_back(((MTGCardInstance*)(tt)));
if( source->has(Constants::HIDDENFACE) && !observer->isInLibrary(((MTGCardInstance *)(tt))) ) if( source->has(Constants::HIDDENFACE) && !observer->isInLibrary(((MTGCardInstance *)(tt))) )
mytargetQuads.push_back( ((Damageable *)(tt))->getIcon() ); mytargetQuads.push_back( ((Damageable *)(tt))->getIcon() );
@@ -299,6 +298,20 @@ void StackAbility::Render()
} }
} }
//setborder test
if(myClones.size())
{
source->forcedBorderB = 1;
for(unsigned int kk = 0; kk < myClones.size(); kk++)
{
if(myClones[kk])
{
myClones[kk]->forcedBorderA = 1;
//JRenderer::GetInstance()->DrawLine(myClones[kk]->view->actX,myClones[kk]->view->actY,source->view->actX,source->view->actY,0.5f,ARGB(120, 255, 0, 0));
}
}
}
if(source->has(Constants::HIDDENFACE) && fmLibrary) if(source->has(Constants::HIDDENFACE) && fmLibrary)
force = MTGAbility::HIDDENVIEW; force = MTGAbility::HIDDENVIEW;

View File

@@ -270,12 +270,12 @@ void CardGui::Render()
//draw border for highlighting //draw border for highlighting
if (game) if (game)
{ {
if (card && (card->isTargetted()||card->forcedBorderA) && highlightborder) if (card && card->forcedBorderA && highlightborder)
{ {
highlightborder->SetColor(ARGB(95,255,0,0)); highlightborder->SetColor(ARGB(95,255,0,0));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16); renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
} }
if (card && (card->isTargetter()||card->forcedBorderB) && highlightborder) if (card && card->forcedBorderB && highlightborder)
{ {
highlightborder->SetColor(ARGB(95,0,245,0)); highlightborder->SetColor(ARGB(95,0,245,0));
renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16); renderer->RenderQuad(highlightborder.get(), actX, actY, actT, (30 * actZ + 1) / 16, 43 * actZ / 16);
@@ -387,7 +387,7 @@ void CardGui::Render()
} }
} }
if (card && (card->isTargetted()||card->forcedBorderA)) if (card && card->forcedBorderA)
{ {
if(card->isTapped()) if(card->isTapped())
{ {
@@ -399,7 +399,7 @@ void CardGui::Render()
else else
renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-2,actY - (scale * quad->mHeight / 2)-2, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.8f,ARGB(250,255,0,0)); renderer->DrawRoundRect(actX - (scale * quad->mWidth / 2)-2,actY - (scale * quad->mHeight / 2)-2, (scale * quad->mWidth)-0.02f, (scale * quad->mHeight)-0.02f, 1.8f,ARGB(250,255,0,0));
} }
if (card && (card->isTargetter()||card->forcedBorderB)) if (card && card->forcedBorderB)
{ {
if(card->isTapped()) if(card->isTapped())
{ {