chip-gameV3/Assets/Scripts/MenuGameplayTransit.cs

58 lines
1.3 KiB
C#

using DG.Tweening;
using UnityEngine;
public class MenuGameplayTransit : MonoBehaviour
{
[SerializeField] MenuLayoutController menu;
[SerializeField] GameplayLayoutController gameplay;
Sequence _sequence;
bool locked = false;
private void Update()
{
if (locked) return;
if (Input.GetKeyDown(KeyCode.Alpha1))
StartGame();
else if (Input.GetKeyDown(KeyCode.Alpha2))
GotoMenu();
}
public void StartGame()
{
Lock();
if (_sequence != null)
{
_sequence.Kill();
_sequence = null;
}
_sequence = DOTween.Sequence();
_sequence.Append(menu.GetCloseSequence());
_sequence.Append(gameplay.GetOpenSequence());
_sequence.onComplete += Unlock;
_sequence.PlayForward();
}
public void GotoMenu()
{
Lock();
if (_sequence != null)
{
_sequence.Kill();
_sequence = null;
}
_sequence = DOTween.Sequence();
_sequence.Append(gameplay.GetCloseSequence());
_sequence.Append(menu.GetOpenSequence());
_sequence.onComplete += Unlock;
_sequence.PlayForward();
}
private void Lock() => this.locked = true;
private void Unlock() => this.locked = false;
}