using UnityEngine; using UnityEngine.UI; public class SkillWidget : MonoBehaviour { public Text skillNameText; public Text skillDescriptionText; public Text requiredLevelText; public Image skillIcon; public Image foreground; public Button unlockBtn; [HideInInspector] public SkillsManager.Skill mySkill; [HideInInspector] public SkillsGUI skillsGUI; public void SetSkill(SkillsManager.Skill skill) { mySkill = skill; } public void RefreshWidget() { skillNameText.text = Utilities.GetTranslation(mySkill.skillName); skillDescriptionText.text = Utilities.GetTranslation(mySkill.skillDescription); requiredLevelText.text = Utilities.GetTranslation("GUI/STATS_LEVEL") + "\n" + mySkill.requiredLevel; if (mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_1 || mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_2 || mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_3) { if (mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_1) { skillNameText.text += " I"; } else if (mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_2) { skillNameText.text += " II"; } else if (mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_3) { skillNameText.text += " III"; } Text text = skillDescriptionText; string text2 = text.text; text.text = text2 + " +" + Mathf.RoundToInt(mySkill.param_1) + "s"; } if (mySkill.skillType == SkillsManager.SkillType.STRENGTH_1 || mySkill.skillType == SkillsManager.SkillType.STRENGTH_2 || mySkill.skillType == SkillsManager.SkillType.STRENGTH_3) { skillDescriptionText.text += " +30%"; } if (mySkill.icon != null) { skillIcon.sprite = mySkill.icon; } if ((bool)skillsGUI) { bool flag = mySkill.requiredLevel <= (int)GlobalSettings.Instance.playerSettings.playersLevel; foreground.gameObject.SetActive(false); requiredLevelText.gameObject.SetActive(!flag); unlockBtn.gameObject.SetActive(!mySkill.isUnlocked); unlockBtn.interactable = (int)skillsGUI.skillsManager.skillPoints > 0 && flag; if (GlobalSettings.Instance.isDemo) { requiredLevelText.gameObject.SetActive(false); unlockBtn.gameObject.SetActive(false); } Color color = skillIcon.color; color.a = ((!mySkill.isUnlocked) ? 0.2f : 1f); skillIcon.color = color; } if ((mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_1 || mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_2 || mySkill.skillType == SkillsManager.SkillType.HUNTER_VISION_3) && !GlobalSettings.Instance.playerSettings.IsCasual()) { unlockBtn.gameObject.SetActive(false); } } public void UnlockSkill() { skillsGUI.skillsManager.UnlockSkill(mySkill.skillType); skillsGUI.Refresh(); } }