Exemplo n.º 1
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            clicks += 1;
            if (clicks == 1)
            {
                Debug.Log("Set timer");
                lastTimer = Time.unscaledTime;
            }
            if (clicks >= 2)
            {
                currentTimer = Time.unscaledTime;

                float difference = currentTimer - lastTimer;

                if (difference <= 0.2f)
                {
                    clicks = 0;
                    if (!Player.GetPlayerState().isPlayersTurn())
                    {
                        return;
                    }
                    selectedCard = GetClickedCard();
                    if (selectedCard != null)
                    {
                        if (selectedCard.transform.parent.tag.Contains("Enemy Hand"))
                        {
                            return;
                        }
                        if (Player.GetHand().CardIsInPile(selectedCard))
                        {
                            playfield = Player.GetPlayField().GetComponent <SP_CardPile>();
                            AnimateCardToField(playfield);
                            Invoke("TransferCard", .8f);
                        }
                    }
                }
                else
                {
                    clicks = 0;
                }
            }
        }
        else
        {
            if (clicks < 2)
            {
                currentTimer = Time.unscaledTime;
                float difference = currentTimer - lastTimer;

                if (difference > .2f)
                {
                    clicks = 0;
                }
            }
        }
    }
Exemplo n.º 2
0
 private void AnimateCardToField(SP_CardPile field)
 {
     GetComponent <CardPositionAnimator>().AnimateCardToPosition(selectedCard, field.gameObject.transform.position);
     GetComponent <CardScaleAnimator>().AnimateCardToScale(selectedCard);
 }