From 49d14c36c7a6ec949fc18c118896550b45bcbfba Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 04 三月 2019 23:24:01 +0800
Subject: [PATCH] 3555 新版装备系统开发。
---
System/Equip/EquipSuitPropertyWidget.cs | 92 +++++++++++++++++++++++++---------------------
1 files changed, 50 insertions(+), 42 deletions(-)
diff --git a/System/Equip/EquipSuitPropertyWidget.cs b/System/Equip/EquipSuitPropertyWidget.cs
index 776308c..ddb5ceb 100644
--- a/System/Equip/EquipSuitPropertyWidget.cs
+++ b/System/Equip/EquipSuitPropertyWidget.cs
@@ -18,24 +18,39 @@
[SerializeField] EquipSuitPropertyBar m_TwoSuit;
[SerializeField] EquipSuitPropertyBar m_FiveSuit;
+ [SerializeField] Text m_EightSuitTitle;
[SerializeField] Text m_EightSuitDescription;
EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
- public void Display(int level)
+ public void Init(int level)
+ {
+ var maxLevel = starModel.GetMaxStarLevel(level);
+ m_StarToggles[0].SetActive(true);
+ m_StarToggles[1].SetActive(maxLevel >= 3);
+ m_StarToggles[2].SetActive(maxLevel >= 6);
+ m_StarToggles[3].SetActive(maxLevel >= 9);
+ }
+
+ public void Display(int level, int star)
{
m_SuitName.text = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.TwoSuit)[0].name;
for (int i = 1; i <= 8; i++)
{
var equip = packModel.GetItemByGuid(model.GetEquipSet(level).GetEquip(i));
- m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(equip.config.SuiteiD > 0 ? TextColType.Green : TextColType.Gray);
+ var hasSuit = equip != null && equip.config.SuiteiD > 0;
+ m_SuitEquipNames[i - 1].color = UIHelper.GetUIColor(hasSuit ? TextColType.Green : TextColType.Gray);
}
- m_TwoSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.TwoSuit));
- m_FiveSuit.Display(model.GetEquipSuitEntry(level, EquipSuitType.FiveSuit));
- m_EightSuitDescription.text = GetEightSuitDescription(level);
+ m_TwoSuit.Display(model.GetEquipSuitEntry(level, star, EquipSuitType.TwoSuit));
+ m_FiveSuit.Display(model.GetEquipSuitEntry(level, star, EquipSuitType.FiveSuit));
+ m_EightSuitDescription.text = GetEightSuitDescription(level, star);
+ var eightSuitLevel = starModel.GetSuitLevel(level, EquipSuitType.EightSuit);
+ var color = UIHelper.GetUIColor(eightSuitLevel >= star ? TextColType.Green : TextColType.Gray, true);
+ m_EightSuitTitle.color = color;
+ m_EightSuitDescription.color = color;
}
public void Dispose()
@@ -43,67 +58,60 @@
}
- private string GetEightSuitDescription(int level)
+ private string GetEightSuitDescription(int level, int star)
{
- var lines = new List<string>();
var configs = EquipSuitConfig.GetConfigs(PlayerDatas.Instance.baseData.Job, level, EquipSuitType.EightSuit);
for (int i = 0; i < configs.Count; i++)
{
var config = configs[i];
- var description = string.Empty;
- if (config.skillID > 0)
+ if (config.star == star)
{
- description = config.description;
- }
- else
- {
- var propertyConfig = PlayerPropertyConfig.Get(config.attr.x);
- var propertyDescription = PlayerPropertyConfig.GetPropertyDescription(config.attr.x, config.attr.y);
- description = StringUtility.Contact(propertyConfig.Name, " +", propertyDescription);
- }
+ var description = string.Empty;
+ if (config.skillID > 0)
+ {
+ description = config.description;
+ }
+ else
+ {
+ var propertyConfig = PlayerPropertyConfig.Get(config.attr[0].x);
+ var propertyDescription = PlayerPropertyConfig.GetPropertyDescription(config.attr[0].x, config.attr[0].y);
+ description = StringUtility.Contact(propertyConfig.Name, " +", propertyDescription);
+ }
- var line = string.Format("{0}鏄熻澶囷細 {1}", config.star, description);
- var starLevel = starModel.GetSuitLevel(level, EquipSuitType.EightSuit);
- lines.Add(UIHelper.AppendStringColor(config.star >= starLevel ? TextColType.Green : TextColType.Gray, line));
+ return description;
+ }
}
- return string.Join("\n", lines.ToArray());
+ return string.Empty;
}
+ [System.Serializable]
public class StarToggle
{
public int star;
public Text title;
public Toggle toggle;
- public void Display()
+ EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
+
+ public void SetActive(bool active)
{
-
- title.gameObject.SetActive(true);
- }
-
- public void Hide()
- {
-
+ title.gameObject.SetActive(active);
+ if (active)
+ {
+ toggle.SetListener(OnValueChange);
+ }
+ else
+ {
+ toggle.RemoveAllListeners();
+ }
}
private void OnValueChange(bool value)
{
if (value)
{
- switch (star)
- {
- case 0:
- break;
- case 3:
- break;
- case 6:
- break;
- case 9:
- break;
- default:
- break;
- }
+ model.selectedStarLevel.value = star;
}
}
--
Gitblit v1.8.0