From 5d09860039c04085fac98e998bf87fa3255e789f Mon Sep 17 00:00:00 2001
From: Samir LABANE <samir.labane@ensiie.fr>
Date: Sun, 4 Aug 2019 07:06:34 +0200
Subject: [PATCH] fix draft not actually adding the cards

---
 Assets/Scripts/Cards/Card.cs        | 13 ++++++++++++-
 Assets/Scripts/Deck/Deck.cs         |  1 +
 Assets/Scripts/Draft/DraftChoice.cs |  4 ++--
 3 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/Assets/Scripts/Cards/Card.cs b/Assets/Scripts/Cards/Card.cs
index ec79e64..5c47afe 100644
--- a/Assets/Scripts/Cards/Card.cs
+++ b/Assets/Scripts/Cards/Card.cs
@@ -16,6 +16,8 @@ public class Card : MonoBehaviour
 
     public string Name = "";
 
+    private DraftChoice mChoice = null; //dirty hack for ui : if you click on the card in ui it will just add it to deck
+
     public List<Effect> GetEffects()
     {
         if (mEffects == null)
@@ -41,7 +43,7 @@ public class Card : MonoBehaviour
     /* Run all effects */
     public void Apply()
     {
-        if (Playable)
+        if (mChoice == null)
         {
             CardEvent<Card>.Trigger(Event.CARD_PLAYED, this);
             foreach (Effect effect in mEffects)
@@ -50,6 +52,15 @@ public class Card : MonoBehaviour
             }
             gameObject.GetComponentInParent<Hand>().Discard(this);
         }
+        else
+        {
+            mChoice.Select();
+        }
+    }
+
+    public void SetDraftChoice(DraftChoice choice)
+    {
+        mChoice = choice;
     }
     
 }
diff --git a/Assets/Scripts/Deck/Deck.cs b/Assets/Scripts/Deck/Deck.cs
index 0a8232c..e965846 100644
--- a/Assets/Scripts/Deck/Deck.cs
+++ b/Assets/Scripts/Deck/Deck.cs
@@ -69,6 +69,7 @@ public class Deck : MonoBehaviour
         {
             totalCards.Insert(j, card);
         }
+        PutCardInDeck(card);
     }
 
     public void PutCardInDeck(Card card)
diff --git a/Assets/Scripts/Draft/DraftChoice.cs b/Assets/Scripts/Draft/DraftChoice.cs
index 5d3b8fd..2833c9f 100644
--- a/Assets/Scripts/Draft/DraftChoice.cs
+++ b/Assets/Scripts/Draft/DraftChoice.cs
@@ -23,8 +23,7 @@ public class DraftChoice : MonoBehaviour
         mCard.transform.SetParent(transform);
         mCard.SetActive(true);
         mCard.transform.localScale = new Vector3(1, 1); // small adjustment
-        mCard.GetComponent<Image>().raycastTarget = false;
-        mCard.GetComponent<Button>().interactable = false;
+        mCard.GetComponent<Card>().SetDraftChoice(this);
         mCard.transform.localPosition = new Vector3(0, 0, 1);
     }
 
@@ -33,6 +32,7 @@ public class DraftChoice : MonoBehaviour
         mCard.transform.localScale = new Vector3(0.5f, 0.5f); // small adjustment
         mCard.GetComponent<Image>().raycastTarget = true;
         mCard.GetComponent<Button>().interactable = true;
+        mCard.GetComponent<Card>().SetDraftChoice(null);
         GameManager.Instance.PlayerDeck.AddCard(mCard.GetComponent<Card>());
         GameManager.Instance.NextState();
         mCard = null;
-- 
GitLab