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; } }