using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using TMPro; using System; 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(); } DateTime lastShownTime; public void ShowDeadscreen(int xpEarned, int metalEarned, double survivalTime){ 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.MinigameDied(); }else{ // MinigameManager.instance.rankedSummary.ShowLoss(); } } public async void ShowAds(){ if(MinigameManager.instance.isRanked){ if(AdsManager.instance!=null && (DateTime.Now - lastShownTime).Minutes > 10){ AdsManager.instance.ShowInterestitial(); lastShownTime = DateTime.Now; } } } } 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"); } }