UPF/Assets/Game/Scripts/Minigame/SceneDataHolder.cs
2022-10-06 23:45:04 +05:30

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");
}
}