diff --git a/Assets/Scripts/Cards/Card.cs b/Assets/Scripts/Cards/Card.cs index ec79e64116317721ab7b7cf61734f8759f93bdc0..5c47afe421273746de8cb836edd2df49d474d847 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 0a8232c3eadf60465337c75a06bf7ce145ef562a..e965846fdc05c8ecc456b4ab11d5e284ee9752cc 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 5d3b8fd43135903e96fa7054ec6daeef09e5443c..2833c9f8850e2b08d7a4962958d3f8c670800723 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;