From 3016d74e293b0ed97c32dc0775a70bab82678ccd Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 25 九月 2018 19:34:04 +0800
Subject: [PATCH] 3687 天赋功能
---
System/Skill/TalentWin.cs | 54 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 38 insertions(+), 16 deletions(-)
diff --git a/System/Skill/TalentWin.cs b/System/Skill/TalentWin.cs
index 40c66b2..4e1972a 100644
--- a/System/Skill/TalentWin.cs
+++ b/System/Skill/TalentWin.cs
@@ -20,6 +20,7 @@
[SerializeField] Button m_TalentTypeSelect;
[SerializeField] Text m_TalentType;
+ [SerializeField] ScrollRect m_Scroller;
[SerializeField] TalentSkillBehaviour[] m_TalentSkills;
[SerializeField] Image[] m_Arrows;
@@ -38,6 +39,10 @@
[SerializeField] Button m_AddPoint;
[SerializeField] Text m_AddPointBtnText;
[SerializeField] Text m_SurplusPoint;
+
+#if UNITY_EDITOR
+ [SerializeField] TalentTreeScriptable m_EditorScriptable;
+#endif
TalentModel model { get { return ModelCenter.Instance.GetModel<TalentModel>(); } }
#region Built-in
@@ -79,12 +84,30 @@
{
m_TalentSeries[i].Dispose();
}
+
+#if UNITY_EDITOR
+ if (m_EditorScriptable != null)
+ {
+ m_EditorScriptable = null;
+ }
+#endif
}
protected override void OnAfterClose()
{
}
#endregion
+
+ protected override void LateUpdate()
+ {
+ base.LateUpdate();
+#if UNITY_EDITOR
+ if (m_EditorScriptable != null)
+ {
+ DisplayTalentLayout(m_EditorScriptable);
+ }
+#endif
+ }
void Display()
{
@@ -132,21 +155,10 @@
var skillConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
if (talentConfig != null)
{
- if (talentConfig.property != 0 && index < m_SelectConditions.Length)
- {
- var propertyConfig = Config.Instance.Get<PlayerPropertyConfig>(talentConfig.property);
- m_SelectConditions[index].gameObject.SetActive(true);
- m_SelectConditions[index].text = StringUtility.Contact(
- string.Format("闇�瑕亄0}鐐癸細", propertyConfig.Name),
- UIHelper.GetPropertyMapPlayerData((AttrEnum)talentConfig.property),
- "/", talentConfig.propertyValue
- );
- index++;
- }
- if (talentConfig.seriesCondition != 0 && index < m_SelectConditions.Length)
+ if (talentConfig.requireSeriesPoint != 0 && index < m_SelectConditions.Length)
{
m_SelectConditions[index].gameObject.SetActive(true);
- m_SelectConditions[index].text = StringUtility.Contact(0, "/", talentConfig.point);
+ m_SelectConditions[index].text = StringUtility.Contact(0, "/", talentConfig.requireSeriesPoint);
index++;
}
}
@@ -180,7 +192,7 @@
m_ContainerSelectSkill.gameObject.SetActive(true);
var config = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
m_SelectSkillIcon.SetSprite(config.IconName);
- m_SelectSkillLevel.text = StringUtility.Contact(talent.level, "/", talent.max);
+ m_SelectSkillLevel.text = StringUtility.Contact(talent.level, "/", talent.maxLevel);
m_SelectSkillName.text = config.SkillName;
}
}
@@ -192,8 +204,8 @@
{
var config = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level);
m_SelectSkillEffect.text = config.Description;
- m_ContainerNextEffect.gameObject.SetActive(talent.level < talent.max);
- if (talent.level < talent.max)
+ m_ContainerNextEffect.gameObject.SetActive(talent.level < talent.maxLevel);
+ if (talent.level < talent.maxLevel)
{
var nextConfig = Config.Instance.Get<SkillConfig>(talent.skillId + talent.level + 1);
m_SelectNextEffect.text = nextConfig.Description;
@@ -274,6 +286,16 @@
{
}
+
+ void DisplayTalentLayout(TalentTreeScriptable config)
+ {
+ m_Scroller.content.sizeDelta = config.contentSizeDelta;
+ for (int i = 0; i < m_TalentSkills.Length; i++)
+ {
+ var element = config.GetTalentElement(i);
+ m_TalentSkills[i].transform.localPosition = element.position;
+ }
+ }
}
}
--
Gitblit v1.8.0