UPF/Assets/Game/Scripts/Minigame/Skin/SceneDataHolder.cs
2023-02-24 22:14:55 +05:30

86 lines
2.6 KiB
C#
Executable File

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 controlsUI;
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);
if(MinigameManager.instance.isRanked){controlsUI.SetActive(false);}
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);
AudioManager.instnace.MinigameDied();
}else{
// MinigameManager.instance.rankedSummary.ShowLoss();
}
}
public void ShowAd(){
ShowAds();
}
public bool ShowAds(){
// if(MinigameManager.instance.isRanked){
// if(AdsManager.instance!=null && (DateTime.Now - lastShownTime).Minutes > 10){
AdsManager.instance.ShowInterestitial();
lastShownTime = DateTime.Now;
return true;
// }
// }
return false;
}
}
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");
}
}