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); }
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); } }
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); }
public override bool RemoveCard(HAD_Card _card) { bool _return = base.RemoveCard(_card); OnTakeCard?.Invoke(); return(_return); }
public override bool AddCard(HAD_Card _card) { bool _return = base.AddCard(_card); OnDrawCard?.Invoke(); return(_return); }
public HAD_Card DrawCard() { HAD_Card _card = GetCard(); RemoveCard(_card); return(_card); }
public virtual bool RemoveCard(HAD_Card _card) { if (CardQuantity > 0) { cards.Remove(_card); } return(CardQuantity > 0); }
public virtual bool AddCard(HAD_Card _card) { if (CardQuantity < maxCards) { cards.Add(_card); } return(CardQuantity < maxCards); }
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); }
void DrawCard() { if (hand.IsFull) { return; } HAD_Card _cardToHad = deck.DrawCard(); _cardToHad.Owner = this; hand.AddCard(_cardToHad); }
void UnGrabCard(bool _hold) { if (!HAD_GameManager.Instance.IsMineTurn(mover)) { return; } if (_hold && currentCard) { mover.Hand.AddCard(currentCard); currentCard.SetPositon(currentCard.Anchor); currentCard = null; } }
void LayingUnite() { if (currentCard.AboveABoard(out HAD_Board _board)) { if (_board.IsFull) { return; } _board.AddCard(currentCard); currentCard = null; } }
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; } }
/// <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); }
public virtual bool ExistCard(HAD_Card _card) { return(cards.Contains(_card)); }
//Création de cette méthode pour les delegates void UnSelectedCard() { selectedCard = null; }