51 lines
No EOL
1.2 KiB
C#
51 lines
No EOL
1.2 KiB
C#
/*
|
|
* Author: Wai Lam
|
|
* Date: 13/2/2025
|
|
* Description: Counting days
|
|
*/
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class CanvasFade : MonoBehaviour
|
|
{
|
|
public CanvasGroup dayPanel; // Assign the UI Panel
|
|
public TextMeshProUGUI dayText; // Assign the TextMeshPro UI
|
|
|
|
private void Start()
|
|
{
|
|
if (GameManager.Instance != null)
|
|
{
|
|
var dayNumber = GameManager.Instance.CurrentDay;
|
|
dayText.text = "Day " + dayNumber;
|
|
}
|
|
|
|
StartCoroutine(FadeOutPanel());
|
|
}
|
|
|
|
public static event Action OnDayPanelHidden;
|
|
|
|
private IEnumerator FadeOutPanel()
|
|
{
|
|
dayPanel.alpha = 1f;
|
|
dayPanel.gameObject.SetActive(true);
|
|
|
|
yield return new WaitForSeconds(3f); // Display for 3 seconds
|
|
|
|
const float fadeDuration = 1.5f;
|
|
var elapsedTime = 0f;
|
|
|
|
while (elapsedTime < fadeDuration)
|
|
{
|
|
elapsedTime += Time.deltaTime;
|
|
dayPanel.alpha = Mathf.Lerp(1f, 0f, elapsedTime / fadeDuration);
|
|
yield return null;
|
|
}
|
|
|
|
dayPanel.gameObject.SetActive(false);
|
|
|
|
OnDayPanelHidden?.Invoke();
|
|
}
|
|
} |