I need a clean way to “cast” cards in a card game in Unity?
I'm building a card game and I've looked through a lot of tutorials that show you how to organize the cards and import them dynamically however, I never seem to be able to find one where a person shows the best way/place to store the card logic. For example, each card has a string title, int damage, and int cost, and this can be placed in a scriptable object. However what if that card has a unique ability that also let's you draw two more cards, or skips the enemy's next turn, where would that code go?
Right now, I have a system that draws a card, and casts the card when you drag it out of the hand and drop it, at this point, the effect should go off (ex. draw 2 more cards), but I just don't know where that logic should go and how to make the unique effect to trigger for any card that has one without having to hardcode.