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().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; } } }