Untitled
unknown
csharp
2 years ago
1.7 kB
4
Indexable
using System.Collections; using System.Collections.Generic; using UnityEngine; public class FadeManager : MonoBehaviour { public static FadeManager Instance; private Transform player; [HideInInspector] public SpriteRenderer spriteRender; [SerializeField] private Color startColor; [SerializeField] private Color endColor; private void Awake() { Instance = this; } private void Start() { player = GameObject.FindGameObjectWithTag("Player").transform; } public void FadeThis(SpriteRenderer spriteRender) { this.spriteRender = spriteRender; StartCoroutine(FadeIn()); } public void FadeOutThis(SpriteRenderer spriteRender) { this.spriteRender = spriteRender; StartCoroutine(FadeOut()); } IEnumerator FadeIn() { float duration = 1; float lerpDuration = 1; float timeElapsed = 0; while(duration > 0) { duration -= Time.deltaTime; timeElapsed += Time.deltaTime; spriteRender.color = Color.LerpUnclamped(spriteRender.color, endColor, timeElapsed / lerpDuration); yield return null; } } IEnumerator FadeOut() { float duration = 1; float lerpDuration = 1; float timeElapsed = 0; while (duration > 0) { duration -= Time.deltaTime; timeElapsed += Time.deltaTime; spriteRender.color = Color.LerpUnclamped(spriteRender.color, startColor, timeElapsed / lerpDuration); yield return null; } } }
Editor is loading...