48 lines
No EOL
951 B
C#
48 lines
No EOL
951 B
C#
using System;
|
|
using System.Collections;
|
|
using DG.Tweening;
|
|
using SimpleTools.SceneManagement;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class Interface : MonoBehaviour {
|
|
private static readonly int FadeOut = Animator.StringToHash("Fade");
|
|
[SerializeField] private TMP_Text title;
|
|
private bool _titleHidden;
|
|
|
|
[SerializeField] private CanvasGroup gameOver;
|
|
private bool _dead;
|
|
|
|
[SerializeField] private Animator anim;
|
|
|
|
private void Start() {
|
|
gameOver.alpha = 0;
|
|
gameOver.interactable = false;
|
|
}
|
|
|
|
public void PlacePiece() {
|
|
if (_titleHidden)
|
|
return;
|
|
|
|
_titleHidden = true;
|
|
title.DOFade(0f, 2f);
|
|
}
|
|
|
|
public void Die() {
|
|
if (_dead)
|
|
return;
|
|
|
|
_dead = true;
|
|
gameOver.DOFade(1f, 1f).OnComplete(() => gameOver.interactable = true);
|
|
}
|
|
|
|
public void Retry() {
|
|
StartCoroutine(RetryRoutine());
|
|
}
|
|
|
|
private IEnumerator RetryRoutine() {
|
|
anim.SetTrigger(FadeOut);
|
|
yield return new WaitForSeconds(1f);
|
|
Loader.Load("Level 1");
|
|
}
|
|
} |