Guest User

Untitled

a guest
Nov 14th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. using System.Collections;
  2. using UnityEngine;
  3.  
  4. [RequireComponent(typeof(CanvasGroup))]
  5. public class FadeOutScreen : MonoBehaviour{
  6.  
  7. [SerializeField] private float fadeTime = 0.2f;
  8. [SerializeField] private AnimationCurve alphaCurve;
  9.  
  10. private CanvasGroup fadeGroup;
  11.  
  12. private void Start()
  13. {
  14. fadeGroup = GetComponent<CanvasGroup>();
  15. }
  16.  
  17. public IEnumerator FadeOut()
  18. {
  19. fadeGroup.blocksRaycasts = true;
  20.  
  21. float time = 0f;
  22. while(time < fadeTime)
  23. {
  24. fadeGroup.alpha = alphaCurve.Evaluate(time / fadeTime);
  25.  
  26. time += Time.deltaTime;
  27. yield return null;
  28. }
  29.  
  30. fadeGroup.alpha = alphaCurve.Evaluate(1f);
  31. }
  32.  
  33. public IEnumerator FadeIn()
  34. {
  35. float time = fadeTime;
  36. while (time > 0f)
  37. {
  38. fadeGroup.alpha = alphaCurve.Evaluate(time / fadeTime);
  39.  
  40. time -= Time.deltaTime;
  41. yield return null;
  42. }
  43.  
  44. fadeGroup.alpha = alphaCurve.Evaluate(0f);
  45.  
  46. fadeGroup.blocksRaycasts = false;
  47. }
  48. }
Add Comment
Please, Sign In to add comment