Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/PlayerStatsWidget.cs
2026-02-21 16:45:37 +08:00

80 lines
2.5 KiB
C#

using UnityEngine;
using UnityEngine.UI;
public class PlayerStatsWidget : MonoBehaviour
{
public Text playerNameText;
public Text moneyValueText;
public Text experienceValueText;
public Text levelValueText;
public Text skillPointsText;
public Text skillPointsValueText;
public Text difficultyValueText;
public Slider experienceSlider;
private PlayerSettingsMy playerSettings;
private void OnEnable()
{
if (playerSettings == null && (bool)GlobalSettings.Instance)
{
playerSettings = GlobalSettings.Instance.playerSettings;
}
if ((bool)playerSettings)
{
playerNameText.text = playerSettings.playersName;
}
if ((bool)difficultyValueText)
{
difficultyValueText.text = PlayerSettingsMy.GetDifficultyTranslation(playerSettings.difficulty);
ProfileWidget profileWidget = MenuManager.Instance.gamePanels[1].GetComponent<ProfilesScreen>().profileWidgets[0];
if (playerSettings.difficulty == PlayerSettingsMy.Difficulty.CASUAL)
{
difficultyValueText.color = profileWidget.difficultyColors[1];
}
else if (playerSettings.difficulty == PlayerSettingsMy.Difficulty.SIMULATOR)
{
difficultyValueText.color = profileWidget.difficultyColors[2];
}
else
{
difficultyValueText.color = profileWidget.difficultyColors[0];
}
}
}
private void LateUpdate()
{
if ((bool)playerSettings)
{
levelValueText.text = string.Empty + playerSettings.playersLevel;
moneyValueText.text = string.Concat(string.Empty, playerSettings.playersMoney, " $");
playerSettings.skillsManager.CalculateSkillsAmount();
skillPointsValueText.text = string.Empty + playerSettings.skillsManager.GetAvailableSkillPoints();
if (skillPointsText != null)
{
skillPointsValueText.gameObject.SetActive(!playerSettings.skillsManager.TooManySkillPoints());
skillPointsText.gameObject.SetActive(skillPointsValueText.gameObject.activeSelf);
}
if ((int)playerSettings.playersLevel == (int)playerSettings.maxPlayerLevel)
{
experienceValueText.text = string.Empty + playerSettings.playersExperience;
experienceSlider.enabled = false;
return;
}
experienceValueText.text = string.Concat(string.Empty, playerSettings.playersExperience, " / ", playerSettings.GetThresholdExperience(playerSettings.playersLevel));
experienceSlider.enabled = true;
experienceSlider.minValue = playerSettings.GetThresholdExperience((int)playerSettings.playersLevel - 1);
experienceSlider.maxValue = playerSettings.GetThresholdExperience(playerSettings.playersLevel);
experienceSlider.value = (int)playerSettings.playersExperience;
}
}
}