private void OnMouseUp() { // Changing the status of the Card Status = ControllerStatus.Inactive; InterfaceManager.Instance.DisableArrow(); InterfaceManager.Instance.IsDragging = false; // Checking if it's the turn of the Player if (GameManager.Instance.CurrentPlayer == Card.Player) { // Checking if the Player has enough mana to play the Card if (Card.Player.AvailableMana >= Card.CurrentCost) { switch (Card.GetCardType()) { case CardType.Minion: if (Card.Player.BoardController.SelfBoardContainsPoint(Util.GetWorldMousePosition())) { if (Card.Player.Minions.Count < 7) { Card.Play(); } } break; case CardType.Weapon: if (Card.Player.BoardController.AllBoardContainsPoint(Util.GetWorldMousePosition())) { Card.Play(); } break; case CardType.Spell: SpellCard spellCard = Card.As <SpellCard>(); if (spellCard.TargetType == TargetType.NoTarget) { if (Card.Player.BoardController.AllBoardContainsPoint(Util.GetWorldMousePosition())) { spellCard.PlayOn(null); } } else { Character target = Util.GetCharacterAtMouse(); if (spellCard.CanTarget(target)) { spellCard.PlayOn(target); } } break; } } else { // TODO : Display not enough mana message } } }