using UnityEngine; public class AnimationsUI : MonoBehaviour { [SerializeField] private GameObject extraMenu; private bool isMenuActive = false; void Start() { // Asegurarse de que el menú esté en la posición fuera de la pantalla al inicio extraMenu.GetComponent().anchoredPosition = new Vector2(extraMenu.GetComponent().anchoredPosition.x, 550); extraMenu.SetActive(false); // El menú empieza desactivado } public void ToggleExtraMenu() { if (isMenuActive) { DeactivateExtraMenu(); } else { ActivateExtraMenu(); } } public void ActivateExtraMenu() { // Colocar el menú en la posición fuera de la vista antes de activarlo extraMenu.GetComponent().anchoredPosition = new Vector2(extraMenu.GetComponent().anchoredPosition.x, 550); extraMenu.SetActive(true); // Activar el menú inmediatamente LeanTween.moveY(extraMenu.GetComponent(), -400, 0.5f) // Reducir tiempo de animación .setEase(LeanTweenType.easeOutExpo) .setOnComplete(() => isMenuActive = true); // Cambiar el estado del menú } public void DeactivateExtraMenu() { // Animar el menú para ocultarlo y desactivarlo al terminar la animación LeanTween.moveY(extraMenu.GetComponent(), 550, 0.5f) // Reducir tiempo de animación .setEase(LeanTweenType.easeInExpo) .setOnComplete(() => { extraMenu.SetActive(false); // Desactivar el menú después de la animación isMenuActive = false; // Cambiar el estado del menú }); } }