少年修仙传客户端代码仓库
client_linchunjie
2018-09-26 f696d40de098b7867200f79d08abb42afb203aa6
3687 天赋功能
2个文件已修改
30 ■■■■ 已修改文件
System/Skill/TalentTreeScriptable.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentWin.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentTreeScriptable.cs
@@ -28,6 +28,18 @@
            return default(TalentElement);
        }
        public float GetPercentBySkillElement(int index, float viewHeight, float offset)
        {
            if (skillElements != null && index < skillElements.Count)
            {
                var element = skillElements[index];
                var height = contentSizeDelta.y - Mathf.Abs(element.position.y);
                var percent = Mathf.Clamp01((height - viewHeight) / (contentSizeDelta.y - viewHeight));
                return Mathf.Clamp01(percent + (offset / (contentSizeDelta.y - viewHeight)));//偏移
            }
            return 1;
        }
#if UNITY_EDITOR
        public void ApplyTalentElement(int index,Vector3 _position)
        {
System/Skill/TalentWin.cs
@@ -21,6 +21,7 @@
        [SerializeField] Text m_TalentType;
        [SerializeField] Text m_TalentTitle;
        [SerializeField] float m_AutoSelectOffset = 62f;
        [SerializeField] ScrollRect m_Scroller;
        [SerializeField] TalentSkillBehaviour[] m_TalentSkills;
        [SerializeField] Image[] m_Arrows;
@@ -140,20 +141,29 @@
            List<int> talents = null;
            model.TryGetTalents(job, model.selectTalentType, model.selectSeries, out talents);
            TalentTreeScriptable selectScriptable = null;
            for (int i = 0; i < m_TalentConfigs.Length; i++)
            {
                if (m_TalentConfigs[i].Belong(job, model.selectTalentType, model.selectSeries))
                {
                    DisplayTalentLayout(m_TalentConfigs[i]);
                    selectScriptable = m_TalentConfigs[i];
                    DisplayTalentLayout(selectScriptable);
                    break;
                }
            }
            var index = 0;
            if (talents != null && talents.Count > 0)
            {
                model.selectSkill = talents[0];
                index = 0;
            }
            m_Scroller.verticalNormalizedPosition = 1;
            model.selectSkill = talents[index];
            if (selectScriptable != null)
            {
                var rect = m_Scroller.transform as RectTransform;
                var skillRect = m_TalentSkills[0].transform as RectTransform;
                m_Scroller.verticalNormalizedPosition = selectScriptable.GetPercentBySkillElement(index, rect.sizeDelta.y, m_AutoSelectOffset);
            }
            for (int i = 0; i < m_TalentSkills.Length; i++)
            {
                if (talents != null && i < talents.Count)
@@ -175,7 +185,7 @@
            var job = PlayerDatas.Instance.baseData.Job;
            var talentTypeDisplay = Language.Get(StringUtility.Contact("TalentType_", job, "_", model.selectTalentType == 1 ? 2 : 1));
            m_TalentType.text = StringUtility.Contact(talentTypeDisplay, "(", point, ")");
            //m_TalentTitle.text = Language.Get(StringUtility.Contact("TalentType_", job, "_", model.selectTalentType));
            m_TalentTitle.text = Language.Get(StringUtility.Contact("TalentTitle_", job, "_", model.selectTalentType));
        }
        void DisplaySelectSkill()