UPF/Assets/Game/Scripts/GameManager.cs

73 lines
2.0 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.Events;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using System.Threading.Tasks;
public class GameManager : MonoBehaviour
{
public TMP_Text usernameTxt;
public TMP_Text[] coinsTxt;
public TMP_Text[] gemsTxt;
public TMP_Text metalTxt;
public TMP_Text oxygenTxt;
public TMP_Text levelTxt;
public Slider levelSlider;
public TMP_Text levelProgressTxt;
public GameObject loadingScreen;
void Start()
{
GameManagerInstance.gameManager = this;
//Go back to login if not logged
if(!DBmanager.LoggedIn){
SceneManager.LoadScene(0);
}else{
usernameTxt.text = DBmanager.username;
RefreshData();
}
loadingScreen.SetActive(false);
}
// Update is called once per frame
void Update()
{
}
public void RefreshData(){
foreach(TMP_Text txt in coinsTxt){
txt.text = DBmanager.Coins.ToString();
}
foreach(TMP_Text txt in gemsTxt){
txt.text = DBmanager.Gems.ToString();
}
metalTxt.text = DBmanager.Metal.ToString();
oxygenTxt.text = DBmanager.Oxygen.ToString();
levelTxt.text = Mathf.CeilToInt(DBmanager.Level).ToString();
float levelExcess = DBmanager.Level - Mathf.FloorToInt(DBmanager.Level);
Debug.Log("Level : " + DBmanager.Level);
levelSlider.value = Mathf.Clamp(levelExcess, 0.1f,1);
// levelSlider.value = Mathf.Clamp(DBmanager.Xp /, 0.1f,1);
levelProgressTxt.text = $"{DBmanager.Xp}/{DBmanager.XpForNextLevel()}";
}
public async void LoadMinigame(){
loadingScreen.SetActive(true);
await Task.Delay(1000);
SceneManager.LoadScene("MinigameMenu");
}
}
public static class GameManagerInstance{
public static GameManager gameManager;
}