Untitled
unknown
csharp
3 years ago
1.7 kB
8
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...