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); } }
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()); }