public void Play() { string unplayableReason; if (IsCardPlayable(out unplayableReason)) { AnimationQueue.Instance.AddAnimation(new Animation(gameObject, Owner.CardShowPosition.position, false, false, false, false)); Owner.Hand.RemoveCard(this); PlayerCard.Type.BeforePlay(Owner); AuraCollection.Instance.TriggerEffects(TriggerEvent.CardPlayed, this); ExecutePlayEffects(); Owner.AddCardPlayed(PlayerCard.Type.Title); MoveToDeck(); } else { GuiManager.Instance.ShowFadeOutText(unplayableReason); } }