From 2240c14f568c6e50171d44fe43561718b588c112 Mon Sep 17 00:00:00 2001 From: "omegablast2002@yahoo.com" Date: Sun, 13 Nov 2011 20:05:25 +0000 Subject: [PATCH] only draw red and blue boarders on cards parent/child relationships if the connect rule is active, there is no way it would works correctly otherwise since connect rule is what handles the clean up and adding of cards to these vectors. --- projects/mtg/src/CardGui.cpp | 71 +++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/projects/mtg/src/CardGui.cpp b/projects/mtg/src/CardGui.cpp index 1e030c4dc..2eb16235b 100644 --- a/projects/mtg/src/CardGui.cpp +++ b/projects/mtg/src/CardGui.cpp @@ -166,57 +166,60 @@ void CardGui::Render() renderer->RenderQuad(extracostshadow.get(), actX + (actZ - 1) * 15, actY + (actZ - 1) * 15, actT, 28 * actZ / 16, 40 * actZ / 16); } - // Am I a parent of a selected card, or am I a parent and myself being selected? - bool isActiveConnectedParent = mHasFocus && card->childrenCards.size(); - if (!isActiveConnectedParent) + if(game->connectRule) { - for (size_t i = 0; i < card->childrenCards.size(); ++i) + // Am I a parent of a selected card, or am I a parent and myself being selected? + bool isActiveConnectedParent = mHasFocus && card->childrenCards.size(); + if (!isActiveConnectedParent) { - MTGCardInstance * child = card->childrenCards[i]; - if (CardView* cv = dynamic_cast(child->view)) + for (size_t i = 0; i < card->childrenCards.size(); ++i) { - if (cv->mHasFocus) + MTGCardInstance * child = card->childrenCards[i]; + if (CardView* cv = dynamic_cast(child->view)) { - isActiveConnectedParent = true; - break; + if (cv->mHasFocus) + { + isActiveConnectedParent = true; + break; + } } } } - } - if (isActiveConnectedParent) - { - JQuadPtr white = card->getObserver()->getResourceManager()->GetQuad("white"); - if(white) + if (isActiveConnectedParent) { - white->SetColor(ARGB(255,230,50,50)); - renderer->RenderQuad(white.get(), actX, actY, actT, 30 * actZ / 16, 42 * actZ / 16); + JQuadPtr white = card->getObserver()->getResourceManager()->GetQuad("white"); + if(white) + { + white->SetColor(ARGB(255,230,50,50)); + renderer->RenderQuad(white.get(), actX, actY, actT, 30 * actZ / 16, 42 * actZ / 16); + } } - } - // Am I a child of a selected card, or am I a child and myself being selected? - bool isActiveConnectedChild = mHasFocus && card->parentCards.size(); - if (!isActiveConnectedChild) - { - for (size_t i = 0; i < card->parentCards.size(); ++i) + // Am I a child of a selected card, or am I a child and myself being selected? + bool isActiveConnectedChild = mHasFocus && card->parentCards.size(); + if (!isActiveConnectedChild) { - MTGCardInstance * parent = card->parentCards[i]; - if (CardView* cv = dynamic_cast(parent->view)) + for (size_t i = 0; i < card->parentCards.size(); ++i) { - if (cv->mHasFocus) + MTGCardInstance * parent = card->parentCards[i]; + if (CardView* cv = dynamic_cast(parent->view)) { - isActiveConnectedChild = true; - break; + if (cv->mHasFocus) + { + isActiveConnectedChild = true; + break; + } } } } - } - if (isActiveConnectedChild) - { - JQuadPtr white = card->getObserver()->getResourceManager()->GetQuad("white"); - if(white) + if (isActiveConnectedChild) { - white->SetColor(ARGB(255,0,0,255)); - renderer->RenderQuad(white.get(), actX, actY, actT, 30 * actZ / 16, 42 * actZ / 16); + JQuadPtr white = card->getObserver()->getResourceManager()->GetQuad("white"); + if(white) + { + white->SetColor(ARGB(255,0,0,255)); + renderer->RenderQuad(white.get(), actX, actY, actT, 30 * actZ / 16, 42 * actZ / 16); + } } }