diff --git a/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs b/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs index 8b1ba112e334560054548011d23be7b46234664b..ea4ff0db221e23d7650801943eaa4fee889157f6 100644 --- a/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs +++ b/Assets/Scripts/Alterations/AddScoreOnCardDraw.cs @@ -8,6 +8,7 @@ public class AddScoreOnCardDraw : Alteration public AddScoreOnCardDraw(AlterationInfo info, AlterationPool pool) : base(info, pool) { CardEvent<Card>.Register(Event.CARD_DRAW, OnCardPlayed); + CardEvent<Card>.Register(Event.EXTRA_CARD_DRAW, OnCardPlayed); } public void OnCardPlayed(Card card) @@ -22,6 +23,7 @@ public class AddScoreOnCardDraw : Alteration public override void CleanUp() { CardEvent<Card>.Unregister(Event.CARD_DRAW, OnCardPlayed); + CardEvent<Card>.Unregister(Event.EXTRA_CARD_DRAW, OnCardPlayed); mPool.Remove(this); } } diff --git a/Assets/Scripts/CardEvents.cs b/Assets/Scripts/CardEvents.cs index dff366c497815ef59eec3b053ae9a404ee737537..7c06a9728074c07a0dd15ba729cf515698efc803 100644 --- a/Assets/Scripts/CardEvents.cs +++ b/Assets/Scripts/CardEvents.cs @@ -8,7 +8,8 @@ public enum Event CARD_PLAYED, CARD_DRAW, CARD_DISCARD, - CARD_EFFECT_APPLIED + CARD_EFFECT_APPLIED, + EXTRA_CARD_DRAW } public class CardEvent<T> diff --git a/Assets/Scripts/Deck/Hand.cs b/Assets/Scripts/Deck/Hand.cs index 31644edb517f3444d7bcda4b3a58e85faf19c9ee..171568636803ce05c4867b5a4fe5d81feb7128b1 100644 --- a/Assets/Scripts/Deck/Hand.cs +++ b/Assets/Scripts/Deck/Hand.cs @@ -61,6 +61,7 @@ public class Hand : MonoBehaviour newCard.transform.SetParent(transform); newCard.gameObject.SetActive(true); newCard.GetComponent<CardUi>().Show(); + CardEvent<Card>.Trigger(Event.EXTRA_CARD_DRAW, newCard); } else { diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index 7cd231e2dead3d768764d9fe58559159ae20ba89..62636d7a21a567af707c67435eabfbc40ec6c493 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -106,6 +106,7 @@ public class GameManager : MonoBehaviour currentState = GameState.FIGHT; CardEvent<Card>.Register(global::Event.CARD_DRAW, OnCardDraw); + CardEvent<Card>.Register(global::Event.EXTRA_CARD_DRAW, OnCardDraw); CardEvent<Card>.Register(global::Event.CARD_DISCARD, OnCardDiscard); mIsRegistered = true; } @@ -113,6 +114,7 @@ public class GameManager : MonoBehaviour public void StartDraft() { CardEvent<Card>.Unregister(global::Event.CARD_DRAW, OnCardDraw); + CardEvent<Card>.Unregister(global::Event.EXTRA_CARD_DRAW, OnCardDraw); CardEvent<Card>.Unregister(global::Event.CARD_DISCARD, OnCardDiscard); mIsRegistered = false; diff --git a/Assets/Scripts/Ui/HandUi.cs b/Assets/Scripts/Ui/HandUi.cs index 39d40016ff248f54d41d7d6e00399a64dc5650af..8ee0a8bc52186ef79c612e4f843d192299fd4970 100644 --- a/Assets/Scripts/Ui/HandUi.cs +++ b/Assets/Scripts/Ui/HandUi.cs @@ -12,6 +12,7 @@ public class HandUi : MonoBehaviour private void Awake() { CardEvent<Card>.Register(Event.CARD_DRAW, OnCardEvent); + CardEvent<Card>.Register(Event.EXTRA_CARD_DRAW, OnCardEvent); CardEvent<Card>.Register(Event.CARD_DISCARD, OnCardEvent); }