80 lines
2.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|