From 457266184d10ef26e16b013caca559a0bead9958 Mon Sep 17 00:00:00 2001 From: "jean.chalard" Date: Tue, 8 Sep 2009 14:53:23 +0000 Subject: [PATCH] J : * Add a helper function. --- projects/mtg/include/CardSelector.h | 2 ++ projects/mtg/include/GuiHand.h | 1 + projects/mtg/src/GuiHand.cpp | 13 ++++++++++--- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/projects/mtg/include/CardSelector.h b/projects/mtg/include/CardSelector.h index 013e41df5..68e9b189a 100644 --- a/projects/mtg/include/CardSelector.h +++ b/projects/mtg/include/CardSelector.h @@ -30,6 +30,8 @@ class ObjectSelector : public GuiLayer LimitorFunctor* limitor; Pos bigpos; + T* handLast; T* playLast; + public: ObjectSelector(DuelLayers*); void Add(T*); diff --git a/projects/mtg/include/GuiHand.h b/projects/mtg/include/GuiHand.h index bbb3aba38..cc2c904c7 100644 --- a/projects/mtg/include/GuiHand.h +++ b/projects/mtg/include/GuiHand.h @@ -39,6 +39,7 @@ class GuiHand : public GuiLayer GuiHand(CardSelector* cs, MTGHand* hand); ~GuiHand(); void Update(float dt); + bool isInHand(CardView*); friend struct HandLimitor; }; diff --git a/projects/mtg/src/GuiHand.cpp b/projects/mtg/src/GuiHand.cpp index 8d38beba0..355f513f9 100644 --- a/projects/mtg/src/GuiHand.cpp +++ b/projects/mtg/src/GuiHand.cpp @@ -13,9 +13,9 @@ const float GuiHand::ClosedX = 494; bool HandLimitor::select(Target* t) { - vector::iterator it; - it = find(hand->cards.begin(), hand->cards.end(), t); - return (it != hand->cards.end()); + if (CardView* c = dynamic_cast(t)) + return hand->isInHand(c); + else return false; } bool HandLimitor::greyout(Target* t) { @@ -51,6 +51,13 @@ void GuiHand::Update(float dt) (*it)->Update(dt); } +bool GuiHand::isInHand(CardView* card) +{ + vector::iterator it; + it = find(cards.begin(), cards.end(), card); + return (it != cards.end()); +} + GuiHandOpponent::GuiHandOpponent(CardSelector* cs, MTGHand* hand) : GuiHand(cs, hand) {} void GuiHandOpponent::Render()