From fe5b1a2c216316911ae92eda2b82ad9b69f9c23d Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 10 十月 2018 16:10:09 +0800
Subject: [PATCH] Merge branch 'master' into 3687天赋功能
---
System/Skill/TalentWin.cs | 48 ++++++++++++++++++++++++++++++++----------------
1 files changed, 32 insertions(+), 16 deletions(-)
diff --git a/System/Skill/TalentWin.cs b/System/Skill/TalentWin.cs
index 63b0f72..b93d159 100644
--- a/System/Skill/TalentWin.cs
+++ b/System/Skill/TalentWin.cs
@@ -23,8 +23,8 @@
[SerializeField] float m_AutoSelectOffset = 62f;
[SerializeField] ScrollRect m_Scroller;
- [SerializeField] TalentSkillBehaviour[] m_TalentSkills;
- [SerializeField] Image[] m_Arrows;
+ [SerializeField] List<TalentSkillBehaviour> m_TalentSkills;
+ [SerializeField] List<Image> m_Arrows;
[SerializeField] RectTransform m_ContainerSelectSkill;
[SerializeField] Image m_SelectSkillIcon;
@@ -49,6 +49,8 @@
#if UNITY_EDITOR
[SerializeField] TalentTreeScriptable m_EditorScriptable;
[SerializeField] bool m_EditorMode;
+ [SerializeField] string m_StraightArrowName;
+ [SerializeField] string m_TurnArrowName;
#endif
TalentModel model { get { return ModelCenter.Instance.GetModel<TalentModel>(); } }
@@ -92,7 +94,7 @@
{
m_TalentSeries[i].Dispose();
}
- for (int i = 0; i < m_TalentSkills.Length; i++)
+ for (int i = 0; i < m_TalentSkills.Count; i++)
{
m_TalentSkills[i].Dispose();
}
@@ -164,7 +166,7 @@
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++)
+ for (int i = 0; i < m_TalentSkills.Count; i++)
{
if (talents != null && i < talents.Count)
{
@@ -413,19 +415,32 @@
void DisplayTalentLayout(TalentTreeScriptable config)
{
m_Scroller.content.sizeDelta = config.contentSizeDelta;
- for (int i = 0; i < m_TalentSkills.Length; i++)
+ for (int i = 0; i < config.skillCount; i++)
{
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++)
+ if (i < m_TalentSkills.Count)
{
- var element = config.GetArrowElement(i);
- m_Arrows[i].transform.localPosition = element.position;
- m_Arrows[i].rectTransform.sizeDelta = element.sizeDelta;
+ m_TalentSkills[i].transform.localPosition = element.position;
}
+ }
+ var index = 0;
+ for (int i = 0; i < config.arrowCount; i++)
+ {
+ var element = config.GetArrowElement(i);
+ if (i < m_Arrows.Count)
+ {
+ var arrow = m_Arrows[i];
+ arrow.gameObject.SetActive(true);
+ arrow.transform.localPosition = element.position;
+ arrow.transform.localEulerAngles = element.rotation;
+ arrow.rectTransform.sizeDelta = element.sizeDelta;
+ arrow.SetSprite(element.iconKey);
+ index++;
+ }
+ }
+ for (int i = index; i < m_Arrows.Count; i++)
+ {
+ m_Arrows[i].gameObject.SetActive(false);
}
}
@@ -438,7 +453,7 @@
return;
}
var count = 0;
- for (int i = 0; i < m_TalentSkills.Length; i++)
+ for (int i = 0; i < m_TalentSkills.Count; i++)
{
if (m_TalentSkills[i].gameObject.activeSelf)
{
@@ -450,12 +465,13 @@
count = 0;
if (m_Arrows != null)
{
- for (int i = 0; i < m_Arrows.Length; i++)
+ for (int i = 0; i < m_Arrows.Count; i++)
{
if (m_Arrows[i].gameObject.activeSelf)
{
m_EditorScriptable.ApplyArrowElement(count, m_Arrows[i].transform.localPosition,
- m_Arrows[i].rectTransform.sizeDelta);
+ m_Arrows[i].rectTransform.sizeDelta, m_Arrows[i].transform.localEulerAngles,
+ m_Arrows[i].sprite.name.Equals(m_StraightArrowName) ? "Talent_StraightArrow" : "Talent_TurnArrow");
count++;
}
}
--
Gitblit v1.8.0