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;
string alt1 = source->getName();
vector<JQuadPtr> mytargetQuads;
vector<MTGCardInstance*> myClones;
int fmLibrary = 0;
int force = 0;
@@ -250,10 +251,7 @@ void StackAbility::Render()
{
Targetable * t = ability->getActionTc()->getNextTarget();
if (t)
{
source->forcedBorderA = 1;
_target = t;
}
//test vector quads
@@ -266,7 +264,8 @@ void StackAbility::Render()
{
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))) )
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)
force = MTGAbility::HIDDENVIEW;

View File

@@ -270,12 +270,12 @@ void CardGui::Render()
//draw border for highlighting
if (game)
{
if (card && (card->isTargetted()||card->forcedBorderA) && highlightborder)
if (card && card->forcedBorderA && highlightborder)
{
highlightborder->SetColor(ARGB(95,255,0,0));
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));
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())
{
@@ -399,7 +399,7 @@ void CardGui::Render()
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));
}
if (card && (card->isTargetter()||card->forcedBorderB))
if (card && card->forcedBorderB)
{
if(card->isTapped())
{