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