Files
ichni_Creator_Studio/Assets/Scripts/DynamicUI/WindowAnim.cs
2025-02-28 20:08:00 +08:00

47 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public static class WindowAnim
{
public static IEnumerator ShowPanelOnScale(GameObject gameObject)
{
AnimationCurve animationCurve = new AnimationCurve(
new Keyframe(0, 0),
new Keyframe(0.25f, 0.55f),
new Keyframe(0.5f, 0.85f),
new Keyframe(0.75f, 0.97f),
new Keyframe(1, 1)
);
float timer = 0;
while (timer <= 1)
{
gameObject.transform.localScale = Vector3.one * animationCurve.Evaluate(timer);
timer += Time.deltaTime * 5f;
yield return null;
}
gameObject.transform.localScale = Vector3.one;
}
public static IEnumerator HidePanelOnscale(GameObject gameObject, bool DestoryOrNot = false)
{
AnimationCurve animationCurve = new AnimationCurve(
new Keyframe(0, 0),
new Keyframe(0.25f, 0.55f),
new Keyframe(0.5f, 0.85f),
new Keyframe(0.75f, 0.97f),
new Keyframe(1, 1)
);
float timer = 1;
while (timer >= 0)
{
gameObject.transform.localScale = Vector3.one * animationCurve.Evaluate(timer);
timer += Time.deltaTime * 5f;
yield return null;
}
gameObject.transform.localScale = Vector3.zero;
}
}