Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using UnityEngine;
- [RequireComponent(typeof(CanvasGroup))]
- public class FadeOutScreen : MonoBehaviour{
- [SerializeField] private float fadeTime = 0.2f;
- [SerializeField] private AnimationCurve alphaCurve;
- private CanvasGroup fadeGroup;
- private void Start()
- {
- fadeGroup = GetComponent<CanvasGroup>();
- }
- public IEnumerator FadeOut()
- {
- fadeGroup.blocksRaycasts = true;
- float time = 0f;
- while(time < fadeTime)
- {
- fadeGroup.alpha = alphaCurve.Evaluate(time / fadeTime);
- time += Time.deltaTime;
- yield return null;
- }
- fadeGroup.alpha = alphaCurve.Evaluate(1f);
- }
- public IEnumerator FadeIn()
- {
- float time = fadeTime;
- while (time > 0f)
- {
- fadeGroup.alpha = alphaCurve.Evaluate(time / fadeTime);
- time -= Time.deltaTime;
- yield return null;
- }
- fadeGroup.alpha = alphaCurve.Evaluate(0f);
- fadeGroup.blocksRaycasts = false;
- }
- }
Add Comment
Please, Sign In to add comment