ExpandTheGungeon/ExpandAssets/Assets/Scripts/ExpandComponents/ExpandSpriteFadeOnSpawn.cs
ApacheThunder a27eca3ee3 v2.9.7 Release Commit...
* Added Ammonomicon entries for most custom enemies and bosses. Sprite
work thanks to Lynceus!
* Added new Tree objects to ExpandFloorDecorator for Jungle floor.
Modified sprites courtasy of NeverNamed!
* Improved code in ExpandFloorDecorator for finding valid spawn
locations for objects.
* Bonus chest room on Jungle now has unique room design.
2023-04-18 15:05:39 -05:00

49 lines
1.5 KiB
C#

using System;
using System.Collections;
using UnityEngine;
namespace ExpandTheGungeon.ExpandComponents {
public class ExpandSpriteFadeOnSpawn : BraveBehaviour {
[SerializeField]
public float FadeTime;
[SerializeField]
public float FadeStartAlpha;
[SerializeField]
public Color FadeColor;
[NonSerialized]
private Renderer m_Renderer;
public ExpandSpriteFadeOnSpawn() {
FadeTime = 0.2f;
FadeStartAlpha = 0.5f;
FadeColor = Color.black;
}
public void Start() {
m_Renderer = renderer;
StartCoroutine(HandleOverrideColorFade(FadeColor, FadeTime, FadeStartAlpha));
}
private IEnumerator HandleOverrideColorFade(Color targetColor, float duration, float startAlpha = 0f) {
if (!m_Renderer) { yield break; }
Color startColor = new Color(targetColor.r, targetColor.g, targetColor.b, startAlpha);
float elapsed = 0f;
while (elapsed < duration) {
elapsed += BraveTime.DeltaTime;
float t = Mathf.SmoothStep(0f, 1f, Mathf.Clamp01(elapsed / duration));
Color current = Color.Lerp(startColor, targetColor, t);
m_Renderer.material.SetColor("_OverrideColor", current);
yield return null;
}
m_Renderer.material.SetColor("_OverrideColor", targetColor);
yield break;
}
protected override void OnDestroy() { base.OnDestroy(); }
}
}