64 lines
2.1 KiB
C#
64 lines
2.1 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 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<TMP_Text>().text = xpEarned.ToString();
|
|
metalEarnings.GetComponentInChildren<TMP_Text>().text = metalEarned.ToString();
|
|
if(!MinigameManager.instance.isRanked){
|
|
survivalTimeTxt.text = SceneData.SecondsToText(survivalTime);
|
|
mostTimeTxt.text = SceneData.SecondsToText(DBmanager.MostTime);
|
|
}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");
|
|
}
|
|
} |