예제 #1
0
        private void UpdateState(SkillTreeManager skillTreeManager)
        {
            Button button = GetComponent <Button>();

            button.animationTriggers.normalTrigger      = "Normal";
            button.animationTriggers.highlightedTrigger = "Highlighted";

            icon.GetComponent <Image>().enabled = false;
            text.GetComponent <Text>().enabled  = false;
            GetComponent <Button>().onClick.RemoveAllListeners();
            GetComponent <Button>().interactable = false;

            switch (state)
            {
            case SkillButtonState.NotExist:
                break;

            case SkillButtonState.LearnedEnhanceable:
                icon.GetComponent <Image>().enabled  = true;
                text.GetComponent <Text>().enabled   = true;
                text.GetComponent <Text>().text      = skillInfo.skill.GetName();
                GetComponent <Button>().interactable = true;
                button.onClick.AddListener(() => skillTreeManager.OnSkillButtonClick(skillInfo.skill.GetName()));
                break;

            case SkillButtonState.LearnedMaxEnhanced:
                icon.GetComponent <Image>().enabled         = true;
                text.GetComponent <Text>().enabled          = true;
                text.GetComponent <Text>().text             = skillInfo.skill.GetName();
                GetComponent <Button>().interactable        = true;
                button.animationTriggers.highlightedTrigger = "Normal";
                break;

            case SkillButtonState.Learnable:
                icon.GetComponent <Image>().enabled    = true;
                text.GetComponent <Text>().enabled     = true;
                text.GetComponent <Text>().text        = skillInfo.skill.GetName();
                GetComponent <Button>().interactable   = true;
                button.animationTriggers.normalTrigger = "Disabled";
                button.onClick.AddListener(() => skillTreeManager.OnSkillButtonClick(skillInfo.skill.GetName()));
                break;

            case SkillButtonState.NotLearnable:
                icon.GetComponent <Image>().enabled  = true;
                text.GetComponent <Text>().enabled   = true;
                text.GetComponent <Text>().text      = skillInfo.skill.GetName();
                GetComponent <Button>().interactable = false;
                break;

            default:
                Debug.LogError("Invalid state : " + state);
                break;
            }
        }
예제 #2
0
 public void ChangeState(SkillTreeManager skillTreeManager, SkillButtonState state)
 {
     this.state = state;
     UpdateState(skillTreeManager);
 }