private void OnTriggerExit2D(Collider2D collision)
 {
     if (!monsterCardModel.isApplied())
     {
         buff = collision.transform.parent.GetComponentInChildren <BuffCardModel>();
         if (buff && buff.isDraggingOverApplied())
         {
             buff.State = BuffCardState.dragging;
             buff       = null;
             monsterCardModel.IsHovering        = false;
             monsterCardModel.IsHoveringApplied = false;
         }
     }
 }
Esempio n. 2
0
    private void Update()
    {
        if (handModel.getDraggingModel() != null)
        {
            Debug.Log(handModel.getDraggingModel().State);
        }
        int currentNumOfCards = handModel.Cards.Count;

        // find card that is currently being dragged
        // dragging is set in BuffModelController
        handModel.setDraggingCard();
        // removed dragging card from hand
        int draggingCardIndex = handModel.getIndexOfDraggingCard();

        if (draggingCardIndex != -1)
        {
            handModel.Cards.RemoveAt(draggingCardIndex);
        }
        if (handModel.DraggingCard)
        {
            BuffCardModel buff = handModel.getDraggingModel();
            // return card back to hand if not dragging or applied
            if (buff.State == BuffCardState.movingToHand)
            {
                // insert dragging card back into hand list
                handModel.Cards.Insert(handModel.getGameObjectIndex(handModel.DraggingCard.gameObject), buff.transform.parent.gameObject);
                updateHandFanning();
                handModel.DraggingCard = null;
            }
            // clear reference if card is applied
            else if (buff.State != BuffCardState.dragging && !buff.isDraggingOverApplied())
            {
                updateHandFanning();
                appliedCardsMap.Add(buff.GetInstanceID(), buff);
                handModel.DraggingCard = null;
            }
        }
        // update fanning when cards in hand number changes
        checkIfAppliedCardsMovingBackToHand();
        if (previousNumOfCards != currentNumOfCards)
        {
            updateHandFanning();
            previousNumOfCards = currentNumOfCards;
        }
    }