UPF/Assets/Game/Scripts/Minigame/SceneDataHolder.cs

58 lines
1.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using TMPro;
public class SceneDataHolder : MonoBehaviour
{
public Transform trailCollidersParent;
[Header("Deadscreen")]
public GameObject deadScreen;
public GameObject xpEarnings;
public GameObject metalEarnings;
public TMP_Text survivalTimeTxt;
public TMP_Text mostTimeTxt;
public EventTrigger boostBtn;
public TMP_Text timerTxt;
void Awake()
{
SceneData.holder = this;
}
public void OnBoostUp(){
SceneData.OnBoostUp.Invoke();
}
public void OnBoostDown(){
SceneData.OnBoostDown.Invoke();
}
public void ShowDeadscreen(int xpEarned, int metalEarned, double survivalTime){
deadScreen.SetActive(true);
xpEarnings.SetActive(xpEarned > 0); metalEarnings.SetActive(metalEarned > 0);
xpEarnings.GetComponentInChildren<TMP_Text>().text = xpEarned.ToString();
metalEarnings.GetComponentInChildren<TMP_Text>().text = metalEarned.ToString();
survivalTimeTxt.text = SceneData.SecondsToText(survivalTime);
mostTimeTxt.text = SceneData.SecondsToText(DBmanager.MostTime);
}
}
public static class SceneData{
public static GameObject localPlayer;
public static SceneDataHolder holder;
public static MinigameManager GameManager;
public static UnityEvent OnBoostDown = new UnityEvent();
public static UnityEvent OnBoostUp = new UnityEvent();
public static void SetTimerTxt(double seconds){
holder.timerTxt.text = SecondsToText(seconds);
}
public static string SecondsToText(double seconds){
int secs = ((int)(seconds % 60));
int mins = Mathf.FloorToInt((float)(seconds/60));
return mins + ":"+ secs.ToString("00");
}
}