Guest User

Untitled

a guest
Mar 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class CardFlipper : MonoBehaviour {
  6.  
  7. SpriteRenderer spriteRenderer;
  8. CardModel model;
  9.  
  10. public AnimationCurve scaleCurve;
  11. public float duration = 0.5f;
  12.  
  13. void Awake()
  14. {
  15. spriteRenderer = GetComponent<SpriteRenderer>();
  16. model = GetComponent<CardModel>();
  17. }
  18.  
  19. public void FlipCard(Sprite startImage, Sprite endImage, int cardIndex)
  20. {
  21. StopCoroutine(Flip(startImage, endImage, cardIndex));
  22. StartCoroutine(Flip(startImage, endImage, cardIndex));
  23. }
  24.  
  25. IEnumerator Flip(Sprite startImage, Sprite endImage, int cardIndex)
  26. {
  27. spriteRenderer.sprite = startImage;
  28. float time = 0f;
  29. while(time<= 1f){
  30. float scale = scaleCurve.Evaluate(time);
  31. time = time + Time.deltaTime / duration;
  32.  
  33. Vector3 localScale = transform.localScale;
  34. localScale.x = scale;
  35.  
  36. transform.localScale = localScale;
  37.  
  38. if(time>= 0.5f)
  39. {
  40. spriteRenderer.sprite = endImage;
  41. }
  42. yield return new WaitForFixedUpdate();
  43. }
  44.  
  45. if (cardIndex == -1)
  46. model.ToggleFace(false);
  47. else
  48. {
  49. model.cardIndex = cardIndex;
  50. model.ToggleFace(true);
  51. }
  52. }
  53.  
  54.  
  55.  
  56. }
Add Comment
Please, Sign In to add comment