49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 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<RectTransform>().anchoredPosition = new Vector2(extraMenu.GetComponent<RectTransform>().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<RectTransform>().anchoredPosition = new Vector2(extraMenu.GetComponent<RectTransform>().anchoredPosition.x, 550);
 | |
|         extraMenu.SetActive(true);  // Activar el menú inmediatamente
 | |
|         LeanTween.moveY(extraMenu.GetComponent<RectTransform>(), -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<RectTransform>(), 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ú
 | |
|                  });
 | |
|     }
 | |
| }
 |