88 lines
2.7 KiB
C#
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();
|
|
}
|
|
}
|