Passion & UI
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Michsky.UI.Shift
|
||||
{
|
||||
public class BlurManager : MonoBehaviour
|
||||
{
|
||||
[Header("Resources")]
|
||||
public Material blurMaterial;
|
||||
|
||||
[Header("Settings")]
|
||||
[Range(0.0f, 10)] public float blurValue = 5.0f;
|
||||
[Range(0.1f, 50)] public float animationSpeed = 25;
|
||||
public string customProperty = "_Size";
|
||||
|
||||
float currentBlurValue;
|
||||
|
||||
void Start()
|
||||
{
|
||||
if (customProperty == null)
|
||||
customProperty = "_Size";
|
||||
|
||||
blurMaterial.SetFloat(customProperty, 0);
|
||||
}
|
||||
|
||||
IEnumerator BlurIn()
|
||||
{
|
||||
currentBlurValue = blurMaterial.GetFloat(customProperty);
|
||||
|
||||
while (currentBlurValue <= blurValue)
|
||||
{
|
||||
currentBlurValue += Time.deltaTime * animationSpeed;
|
||||
|
||||
if (currentBlurValue >= blurValue)
|
||||
currentBlurValue = blurValue;
|
||||
|
||||
blurMaterial.SetFloat(customProperty, currentBlurValue);
|
||||
yield return null;
|
||||
}
|
||||
|
||||
StopCoroutine("BlurIn");
|
||||
}
|
||||
|
||||
IEnumerator BlurOut()
|
||||
{
|
||||
currentBlurValue = blurMaterial.GetFloat(customProperty);
|
||||
|
||||
while (currentBlurValue >= 0)
|
||||
{
|
||||
currentBlurValue -= Time.deltaTime * animationSpeed;
|
||||
|
||||
if (currentBlurValue <= 0)
|
||||
currentBlurValue = 0;
|
||||
|
||||
blurMaterial.SetFloat(customProperty, currentBlurValue);
|
||||
yield return null;
|
||||
}
|
||||
|
||||
StopCoroutine("BlurOut");
|
||||
}
|
||||
|
||||
public void BlurInAnim()
|
||||
{
|
||||
if (gameObject.activeInHierarchy == false)
|
||||
return;
|
||||
|
||||
StopCoroutine("BlurOut");
|
||||
StartCoroutine("BlurIn");
|
||||
}
|
||||
|
||||
public void BlurOutAnim()
|
||||
{
|
||||
if (gameObject.activeInHierarchy == false)
|
||||
return;
|
||||
|
||||
StopCoroutine("BlurIn");
|
||||
StartCoroutine("BlurOut");
|
||||
}
|
||||
|
||||
public void SetBlurValue(float cbv)
|
||||
{
|
||||
blurValue = cbv;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user