63 lines
1.5 KiB
C#
63 lines
1.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using DG.Tweening;
|
|
|
|
[RequireComponent(typeof(CanvasGroup))]
|
|
public class UIMenu : MonoBehaviour
|
|
{
|
|
[SerializeField] private UIMenu _nextMenu;
|
|
[SerializeField] private UIMenu _previousMenu;
|
|
|
|
private UIMenu _firstNextMenu;
|
|
private UIMenu _firstPreviousMenu;
|
|
|
|
private RectTransform _rectTransfrom;
|
|
public CanvasGroup canvasGroup { get; private set; }
|
|
|
|
private void OnEnabled()
|
|
{
|
|
canvasGroup.alpha = 1;
|
|
}
|
|
|
|
private void Awake()
|
|
{
|
|
_rectTransfrom = GetComponent<RectTransform>();
|
|
canvasGroup = GetComponent<CanvasGroup>();
|
|
|
|
_firstNextMenu = _nextMenu;
|
|
_firstPreviousMenu = _previousMenu;
|
|
}
|
|
|
|
public void Reset()
|
|
{
|
|
_nextMenu = _firstNextMenu;
|
|
_previousMenu = _firstPreviousMenu;
|
|
}
|
|
|
|
public void SetNextMenu(UIMenu menu) => _nextMenu = menu;
|
|
public void SetPreviousMenu(UIMenu menu) => _previousMenu = menu;
|
|
|
|
public void ShowNextMenu()
|
|
{
|
|
_nextMenu?.gameObject.SetActive(true);
|
|
|
|
if(_nextMenu?.canvasGroup.alpha == 0)
|
|
_nextMenu.canvasGroup.alpha = 1;
|
|
|
|
canvasGroup.DOFade(0, .15f)
|
|
.OnComplete(() => gameObject.SetActive(false));
|
|
}
|
|
|
|
public void ShowPreviousMenu()
|
|
{
|
|
_previousMenu?.gameObject.SetActive(true);
|
|
|
|
if(_previousMenu?.canvasGroup.alpha == 0)
|
|
_previousMenu.canvasGroup.alpha = 1;
|
|
|
|
canvasGroup.DOFade(0, .15f)
|
|
.OnComplete(() => gameObject.SetActive(false));
|
|
}
|
|
}
|