Example #1
0
    IEnumerator Flip(Sprite startImage, Sprite endImage, int cardIndex)
    {
        spriteRenderer.sprite = startImage;

        float time = 0f;

        while (time <= 1f)
        {
            float scale = scaleCurve.Evaluate(time);
            time = time + Time.deltaTime / duration;

            Vector3 localScale = transform.localScale;
            localScale.x         = scale;
            transform.localScale = localScale;

            if (time >= 0.5f)
            {
                spriteRenderer.sprite = endImage;
            }

            yield return(new WaitForFixedUpdate());
        }

        if (cardIndex == 1)
        {
            card.ToggleFace(false);
        }
        else
        {
            card.cardIndex = cardIndex;
            card.ToggleFace(true);
        }
    }
Example #2
0
    void AddCard(Vector3 position, int cardIndex, int positionalIndex)
    {
        if (fetchCards.ContainsKey(cardIndex))
        {
            if (!faceUp)
            {
                CardFace face = fetchCards[cardIndex].Card.GetComponent <CardFace>();
                face.ToggleFace(fetchCards[cardIndex].IsFaceUp);
            }
            return;
        }

        GameObject cardCopy = (GameObject)Instantiate(cardPrefab);

        cardCopy.transform.position = position;

        CardFace cardFace = cardCopy.GetComponent <CardFace>();

        cardFace.cardIndex = cardIndex;
        cardFace.ToggleFace(faceUp);

        SpriteRenderer spriteRenderer = cardCopy.GetComponent <SpriteRenderer>();

        if (reverseLayerOrder)
        {
            spriteRenderer.sortingOrder = 51 - positionalIndex;
        }
        else
        {
            spriteRenderer.sortingOrder = positionalIndex;
        }

        fetchCards.Add(cardIndex, new CardView(cardCopy));

        //Debug.Log("Hand Value :" + deckShuffle.HandValue());
    }