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 TMP_Text gameOverTxt; 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){ if(AdsManager.instance!=null){AdsManager.instance.ShowInterestitial();} deadScreen.SetActive(true); xpEarnings.SetActive(xpEarned > 0); metalEarnings.SetActive(metalEarned > 0); xpEarnings.GetComponentInChildren().text = xpEarned.ToString(); metalEarnings.GetComponentInChildren().text = metalEarned.ToString(); if(!MinigameManager.instance.isRanked){ survivalTimeTxt.text = SceneData.SecondsToText(survivalTime); mostTimeTxt.text = SceneData.SecondsToText(DBmanager.MostTime); AudioManager.instnace.MinigameLost(); }else{ // MinigameManager.instance.rankedSummary.ShowLoss(); } } } 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"); } }