Exemplo n.º 1
0
    void GrabCard(bool _hold)
    {
        if (mover.SelectedCard || !HAD_MousePointer.Instance.InfoImpact.collider || !HAD_GameManager.Instance.IsMineTurn(mover))
        {
            return;
        }

        if (!_hold)
        {
            return;
        }

        if (!currentCard)
        {
            currentCard = HAD_MousePointer.Instance.InfoImpact.collider.GetComponent <HAD_Card>();
        }

        if (currentCard && (currentCard.Owner != mover || currentCard.ItsBoard))
        {
            currentCard = null;
            return;
        }

        mover.Hand.RemoveCard(currentCard);
    }
Exemplo n.º 2
0
    public void DiscardCard(HAD_Card _card)
    {
        if (!_card)
        {
            return;
        }

        _card.SetPositon(anchorDiscardPile);
        _card.Owner.DiscardPile.AddCard(_card);
        _card.Discard = true;

        if (_card.ItsBoard)
        {
            _card.ItsBoard.RemoveCard(_card);
            return;
        }

        if (_card.Owner.Hand.ExistCard(_card))
        {
            _card.Owner.Hand.RemoveCard(_card);
            return;
        }

        if (_card.Owner.Deck.ExistCard(_card))
        {
            _card.Owner.Deck.RemoveCard(_card);
        }
    }
Exemplo n.º 3
0
    void ApplyDataOnCard(bool _hold)
    {
        if (!_hold || !selectedCard)
        {
            return;
        }

        HAD_Card _target = GetCard();

        if (!_target || _target == selectedCard || _target.Owner == this || !_target.ItsBoard || _target.DataCard.CardType != ECardType.Unite)
        {
            return;
        }

        selectedCard.GetStat(ECardStat.Atck, out float _atckSelected);

        _target.GetStat(ECardStat.Def, out float _defTarget);

        float _result = _defTarget - _atckSelected;

        if (_result < 0)
        {
            _target.SetStat(ECardStat.Life, -_result);
        }

        _target.SetStat(ECardStat.Def, _atckSelected);
    }
Exemplo n.º 4
0
    public override bool RemoveCard(HAD_Card _card)
    {
        bool _return = base.RemoveCard(_card);

        OnTakeCard?.Invoke();

        return(_return);
    }
Exemplo n.º 5
0
    public override bool AddCard(HAD_Card _card)
    {
        bool _return = base.AddCard(_card);

        OnDrawCard?.Invoke();

        return(_return);
    }
Exemplo n.º 6
0
    public HAD_Card DrawCard()
    {
        HAD_Card _card = GetCard();

        RemoveCard(_card);

        return(_card);
    }
Exemplo n.º 7
0
    public virtual bool RemoveCard(HAD_Card _card)
    {
        if (CardQuantity > 0)
        {
            cards.Remove(_card);
        }

        return(CardQuantity > 0);
    }
Exemplo n.º 8
0
    public virtual bool AddCard(HAD_Card _card)
    {
        if (CardQuantity < maxCards)
        {
            cards.Add(_card);
        }

        return(CardQuantity < maxCards);
    }
Exemplo n.º 9
0
    HAD_Card GetCard()
    {
        if (Physics.Raycast(HAD_MousePointer.Instance.InfoImpact.point, -Vector3.up, out RaycastHit _raycastInfo, 10, layer))
        {
            HAD_Card _card = _raycastInfo.collider.GetComponent <HAD_Card>();

            // Add limitation : warm up des carte, silence, etc

            return(_card);
        }
        return(null);
    }
Exemplo n.º 10
0
    void DrawCard()
    {
        if (hand.IsFull)
        {
            return;
        }

        HAD_Card _cardToHad = deck.DrawCard();

        _cardToHad.Owner = this;

        hand.AddCard(_cardToHad);
    }
Exemplo n.º 11
0
    void UnGrabCard(bool _hold)
    {
        if (!HAD_GameManager.Instance.IsMineTurn(mover))
        {
            return;
        }

        if (_hold && currentCard)
        {
            mover.Hand.AddCard(currentCard);
            currentCard.SetPositon(currentCard.Anchor);
            currentCard = null;
        }
    }
Exemplo n.º 12
0
    void LayingUnite()
    {
        if (currentCard.AboveABoard(out HAD_Board _board))
        {
            if (_board.IsFull)
            {
                return;
            }

            _board.AddCard(currentCard);

            currentCard = null;
        }
    }
Exemplo n.º 13
0
    void SelectCard(bool _click)
    {
        if (selectedCard || !HAD_GameManager.Instance.IsMineTurn(this) || !_click)
        {
            return;
        }

        selectedCard = GetCard();

        if (!selectedCard)
        {
            return;
        }

        if (!selectedCard.ItsBoard || selectedCard.Owner != this)
        {
            selectedCard = null;
        }
    }
Exemplo n.º 14
0
    /// <summary>
    /// A modifier,
    /// </summary>
    /// <param name="_maxCardDeck"></param>
    /// <returns></returns>
    public HAD_Deck MakerPreMadeDeck(int _maxCardDeck, Vector3 _deckPosition)
    {
        HAD_Deck _currentDeck = new HAD_Deck(_maxCardDeck);

        for (int i = 0; i < _maxCardDeck; i++)
        {
            GameObject _ob = (GameObject)Resources.Load(pathPreMadeDeck);

            HAD_Card _card = Instantiate(_ob, _deckPosition, Quaternion.identity).GetComponent <HAD_Card>();

            //Temp
            ListCardData allCards = new ListCardData();
            JsonUnitility.ReadJson(ref allCards, HAD_PathHelper.PathToCardsDataBase, HAD_PathHelper.PathToDatabase);
            _card.DataCard = allCards.dataCards[0];
            _card.InitializeCard();
            //

            _currentDeck.AddCard(_card);
        }

        return(_currentDeck);
    }
Exemplo n.º 15
0
 public virtual bool ExistCard(HAD_Card _card)
 {
     return(cards.Contains(_card));
 }
Exemplo n.º 16
0
 //Création de cette méthode pour les delegates
 void UnSelectedCard()
 {
     selectedCard = null;
 }