public void OnCast()
    {
        if (Card.IsSpell && Card.SpellTarget != Card.TargetType.NO_TARGET)
        {
            return;
        }

        if (IsPlayerCard)
        {
            gameManager.PlayerHandCards.Remove(this);
            gameManager.PlayerFieldCards.Add(this);
            gameManager.ReduceMana(true, Card.Manacost);
            gameManager.CheckCardsForManaAvaliability();
        }
        else
        {
            gameManager.EnemyHandCards.Remove(this);
            gameManager.EnemyFieldCards.Add(this);
            gameManager.ReduceMana(false, Card.Manacost);
            Info.ShowCardInfo();
        }

        Card.IsPlaced = true;

        if (Card.HasAbility)
        {
            Ability.OnCast();
        }

        if (Card.IsSpell)
        {
            UseSpell(null);
        }
    }
    public void OnCast()
    {
        //if (Card.IsSpell && ((SpellCard)Card).SpellTarget != SpellCard.TargetType.NO_TARGET) return;

        if (IsPlayerCard)
        {
            GameManager.PlayerHandCards.Remove(this);
            GameManager.PlayerFieldCards.Add(this);
            GameManager.ReduceManaAndGold(true, Card.Manacost, Card.Goldcost);
            GameManager.CheckIfCardsPlayable();
        }
        else
        {
            GameManager.EnemyHandCards.Remove(this);
            GameManager.EnemyFieldCards.Add(this);
            GameManager.ReduceManaAndGold(false, Card.Manacost, Card.Goldcost);
            Info.ShowCardInfo();
        }

        Card.IsPlaced = true;
        if (Card.HasAbility)
        {
            Ability.OnCast();
        }
        if (Card.IsSpell)
        {
            UseSpell(null);
        }
        UIController.Instance.UpdateResources();
    }
    public void OnCast()//каст
    {
        if (thisCard.isSpell && ((SpellCard)thisCard).spellTarget != SpellCard.TargetType.NO_TARGET)
        {
            return;
        }

        if (isPlayerCard)
        {
            gameManager.playerHandCards.Remove(this);
            gameManager.playerFieldCards.Add(this);
            gameManager.ReduceEnergy(true, thisCard.cost);
            gameManager.CheckCardsForManaAvailability();
        }
        else
        {
            gameManager.enemyHandCards.Remove(this);
            gameManager.enemyFieldCards.Add(this);
            gameManager.ReduceEnergy(false, thisCard.cost);
            info.ShowCardInfo();
        }

        thisCard.isPlaced = true;

        if (thisCard.hasAbility)
        {
            ability.OnCast();
        }

        if (thisCard.isSpell)
        {
            UseSpell(null);
        }
    }