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

88 lines
2.7 KiB
C#

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