少年修仙传客户端代码仓库
client_linchunjie
2018-09-26 d0735fc3e22de34f6631c853c7e9cd54598ab566
3687 天赋功能
2个文件已修改
84 ■■■■ 已修改文件
System/Skill/TalentTreeScriptable.cs 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentWin.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/TalentTreeScriptable.cs
@@ -28,6 +28,15 @@
            return default(TalentElement);
        }
        public ArrowElement GetArrowElement(int index)
        {
            if (arrowElements != null && index < arrowElements.Count)
            {
                return arrowElements[index];
            }
            return default(ArrowElement);
        }
        public float GetPercentBySkillElement(int index, float viewHeight, float offset)
        {
            if (skillElements != null && index < skillElements.Count)
@@ -43,27 +52,58 @@
#if UNITY_EDITOR
        public void ApplyTalentElement(int index,Vector3 _position)
        {
            if (skillElements == null)
            {
                skillElements = new List<TalentElement>();
            }
            var element = new TalentElement()
            {
                position = _position,
            };
            if (index >= skillElements.Count)
            {
                skillElements.Add(new TalentElement()
                {
                    position = _position,
                });
                skillElements.Add(element);
            }
            else
            {
                skillElements[index] = new TalentElement()
                {
                    position = _position,
                };
                skillElements[index] = element;
            }
        }
        public void SyncElementsCount(int count)
        public void SyncTalentElementsCount(int count)
        {
            if (count < skillElements.Count)
            {
                skillElements.RemoveRange(count, skillElements.Count - count);
            }
        }
        public void ApplyArrowElement(int index, Vector3 _position, Vector2 _sizeDelta)
        {
            if (arrowElements == null)
            {
                arrowElements = new List<ArrowElement>();
            }
            var element = new ArrowElement()
            {
                position = _position,
                sizeDelta = _sizeDelta,
            };
            if (index >= arrowElements.Count)
            {
                arrowElements.Add(element);
            }
            else
            {
                arrowElements[index] = element;
            }
        }
        public void SyncArrowElementsCount(int count)
        {
            if (count < arrowElements.Count)
            {
                arrowElements.RemoveRange(count, arrowElements.Count - count);
            }
        }
#endif
@@ -123,7 +163,6 @@
        public struct ArrowElement
        {
            public Vector3 position;
            public Vector3 rotation;
            public Vector2 sizeDelta;
        }
    }
System/Skill/TalentWin.cs
@@ -388,6 +388,15 @@
                var element = config.GetTalentElement(i);
                m_TalentSkills[i].transform.localPosition = element.position;
            }
            if (m_Arrows != null)
            {
                for (int i = 0; i < m_Arrows.Length; i++)
                {
                    var element = config.GetArrowElement(i);
                    m_Arrows[i].transform.localPosition = element.position;
                    m_Arrows[i].rectTransform.sizeDelta = element.sizeDelta;
                }
            }
        }
#if UNITY_EDITOR
@@ -407,7 +416,21 @@
                    count++;
                }
            }
            m_EditorScriptable.SyncElementsCount(count);
            m_EditorScriptable.SyncTalentElementsCount(count);
            count = 0;
            if (m_Arrows != null)
            {
                for (int i = 0; i < m_Arrows.Length; i++)
                {
                    if (m_Arrows[i].gameObject.activeSelf)
                    {
                        m_EditorScriptable.ApplyArrowElement(count, m_Arrows[i].transform.localPosition,
                            m_Arrows[i].rectTransform.sizeDelta);
                        count++;
                    }
                }
                m_EditorScriptable.SyncArrowElementsCount(count);
            }
        }
#endif
    }