Files
source/Assets/Scripts/StatsMenu.cs

60 lines
2.6 KiB
C#

using System;
using TMPro;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
public class StatsMenu : MonoBehaviour
{
[SerializeField] private GameObject panel;
[SerializeField] private TMP_Text normalBerryStat;
[SerializeField] private TMP_Text poisonBerryStat;
[SerializeField] private TMP_Text slowBerryStat;
[SerializeField] private TMP_Text ultraBerryStat;
[SerializeField] private TMP_Text speedyBerryStat;
[SerializeField] private TMP_Text coinBerryStat;
[SerializeField] private TMP_Text randomBerryStat;
[SerializeField] private TMP_Text antiBerryStat;
[SerializeField] private TMP_Text coinStat;
[SerializeField] private TMP_Text xpUsernameText;
[SerializeField] private TMP_Text xpText;
[SerializeField] private TMP_Text xpLevelText;
[SerializeField] private RectTransform progressFilledRect;
void Start()
{
normalBerryStat.text = BazookaManager.Instance.GetGameStoreTotalNormalBerries().ToString();
poisonBerryStat.text = BazookaManager.Instance.GetGameStoreTotalPoisonBerries().ToString();
slowBerryStat.text = BazookaManager.Instance.GetGameStoreTotalSlowBerries().ToString();
ultraBerryStat.text = BazookaManager.Instance.GetGameStoreTotalUltraBerries().ToString();
speedyBerryStat.text = BazookaManager.Instance.GetGameStoreTotalSpeedyBerries().ToString();
coinBerryStat.text = BazookaManager.Instance.GetGameStoreTotalCoinBerries().ToString();
randomBerryStat.text = BazookaManager.Instance.GetGameStoreTotalRandomBerries().ToString();
antiBerryStat.text = BazookaManager.Instance.GetGameStoreTotalAntiBerries().ToString();
coinStat.text = BazookaManager.Instance.GetCustomBirdIconData().Balance.ToString();
var (_, level, currentXpInLevel, totalXpForLevel, percentDone) = Tools.GetLevelInfo();
xpUsernameText.text = BazookaManager.Instance.GetAccountName() ?? "";
xpText.text = currentXpInLevel.ToString() + "/" + totalXpForLevel.ToString() + " xp";
xpLevelText.text = "Level " + level.ToString();
SetXPProgressFilled((int)percentDone);
Tools.RefreshHierarchy(panel);
}
async void Update()
{
if (Keyboard.current.escapeKey.wasPressedThisFrame) await SceneManager.LoadSceneAsync("MainMenu");
}
void SetXPProgressFilled(int progress)
{
int newProgress = Math.Clamp(progress, 0, 100);
progressFilledRect.sizeDelta = new Vector2(newProgress * 3, progressFilledRect.sizeDelta.y);
progressFilledRect.anchoredPosition = new Vector2((newProgress * 3 - 300f) * 0.5f, progressFilledRect.anchoredPosition.y);
}
}