少年修仙传客户端代码仓库
client_Wu Xijin
2018-10-29 d82561629d51d3863002a3f1bbb32ef6b1b429bb
System/Skill/TalentSkillBehaviour.cs
@@ -30,6 +30,10 @@
            model.talentSkillUpdate += TalentSkillUpdate;
            model.selectSkillEvent -= OnSelectSkillEvent;
            model.selectSkillEvent += OnSelectSkillEvent;
            model.talentPointUpdate -= TalentPointUpdate;
            model.talentPointUpdate += TalentPointUpdate;
            model.talentSkillLevelUp -= TalentSkillLevelUp;
            model.talentSkillLevelUp += TalentSkillLevelUp;
            Display();
        }
@@ -44,8 +48,19 @@
                    m_Icon.SetSprite(config.IconName);
                }
                m_Level.text = StringUtility.Contact(talent.level, "/", talent.maxLevel);
                m_Icon.material = talent.level > 0 ? MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
                DisplayState();
                m_ContainerSelect.gameObject.SetActive(skillId == model.selectSkill);
            }
        }
        private void DisplayState()
        {
            TalentSkill talent;
            if (model.TryGetTalent(skillId, out talent))
            {
                var error = 0;
                m_Icon.material = talent.level > 0 || model.SatisfyLevelUp(talent.skillId, out error) ?
                    MaterialUtility.GetUIDefaultGraphicMaterial() : MaterialUtility.GetDefaultSpriteGrayMaterial();
            }
        }
@@ -54,6 +69,10 @@
            if (skillId == _skillid)
            {
                Display();
            }
            else if (skillId != 0)
            {
                DisplayState();
            }
        }
@@ -66,6 +85,24 @@
        {
            model.talentSkillUpdate -= TalentSkillUpdate;
            model.selectSkillEvent -= OnSelectSkillEvent;
            model.talentPointUpdate -= TalentPointUpdate;
            model.talentSkillLevelUp -= TalentSkillLevelUp;
        }
        private void TalentSkillLevelUp(int _skillId)
        {
            if (skillId != 0 && skillId == _skillId)
            {
                EffectMgr.Instance.PlayUIEffect(3069, 2500, transform, false);
            }
        }
        private void TalentPointUpdate()
        {
            if (skillId != 0)
            {
                DisplayState();
            }
        }
        private void SelectSkill()