38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace SepCore.UI
|
|
{
|
|
public static class UIExtension
|
|
{
|
|
public static IEnumerator FadeToAlpha(this CanvasGroup canvasGroup, float alpha, float duration)
|
|
{
|
|
float time = 0f;
|
|
float originalAlpha = canvasGroup.alpha;
|
|
while (time < duration)
|
|
{
|
|
time += Time.deltaTime;
|
|
canvasGroup.alpha = Mathf.Lerp(originalAlpha, alpha, time / duration);
|
|
yield return new WaitForEndOfFrame();
|
|
}
|
|
|
|
canvasGroup.alpha = alpha;
|
|
}
|
|
|
|
public static IEnumerator SmoothValue(this Slider slider, float value, float duration)
|
|
{
|
|
float time = 0f;
|
|
float originalValue = slider.value;
|
|
while (time < duration)
|
|
{
|
|
time += Time.deltaTime;
|
|
slider.value = Mathf.Lerp(originalValue, value, time / duration);
|
|
yield return new WaitForEndOfFrame();
|
|
}
|
|
|
|
slider.value = value;
|
|
}
|
|
}
|
|
}
|