From 57f21b5ec74d8164ddbcca3538aecb73e2a3706f Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 04 三月 2019 18:04:47 +0800
Subject: [PATCH] 3555 新版装备功能开发
---
System/Equip/RealmEquipWin.cs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/System/Equip/RealmEquipWin.cs b/System/Equip/RealmEquipWin.cs
index 9e3f240..b89b6d8 100644
--- a/System/Equip/RealmEquipWin.cs
+++ b/System/Equip/RealmEquipWin.cs
@@ -14,6 +14,7 @@
public class RealmEquipWin : Window
{
+ [SerializeField] RectTransform m_LevelsContainer;
[SerializeField] EquipSlots m_EquipSlots;
[SerializeField] Text m_FightPoint;
[SerializeField] RawImage m_Role;
@@ -21,6 +22,9 @@
[SerializeField] EquipSuitPropertyWidget m_SuitPropertyWidget;
[SerializeField] CandidateEquipWidget m_CandidateEquipWidget;
+
+ List<EquipLevelSelectBehaviour> levelSelectBehaviours = new List<EquipLevelSelectBehaviour>();
+ List<GameObject> emptyFillers = new List<GameObject>();
EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
@@ -53,9 +57,8 @@
protected override void OnActived()
{
base.OnActived();
+ DisplayLevels();
DisplayDynamicInfo(true);
-
- ShowCandidateEquips();
}
protected override void LateUpdate()
@@ -85,6 +88,7 @@
if (force || model.selectedLevel.dirty)
{
var level = model.selectedLevel.Fetch();
+
DisplayEquips(level);
DisplayAppearance(level);
DisplayFightPoint(level);
@@ -98,6 +102,49 @@
}
}
+ private void DisplayLevels()
+ {
+ var sets = model.GetViewableEquipSets();
+ var behaviourCount = sets.Count;
+ var emptyCount = behaviourCount >= 5 ? 0 : 5 - behaviourCount;
+ var behaviourGap = behaviourCount - levelSelectBehaviours.Count;
+ for (var i = 0; i < behaviourGap; i++)
+ {
+ var instance = UIUtility.CreateWidget("EquipLevelSelectBehaviour", "EquipLevelSelectBehaviour");
+ instance.transform.SetParentEx(m_LevelsContainer, Vector3.zero, Quaternion.identity, Vector3.one);
+ instance.transform.SetAsFirstSibling();
+ levelSelectBehaviours.Insert(0, instance.GetComponent<EquipLevelSelectBehaviour>());
+ }
+
+ var emptyGap = emptyCount - emptyFillers.Count;
+ for (var i = 0; i < emptyCount; i++)
+ {
+ var instance = UIUtility.CreateWidget("EquipLevelSelectEmptyBehaviour", "EquipLevelSelectEmptyBehaviour");
+ instance.transform.SetParentEx(m_LevelsContainer, Vector3.zero, Quaternion.identity, Vector3.one);
+ instance.transform.SetAsLastSibling();
+ emptyFillers.Add(instance);
+ }
+
+ for (var i = 0; i < levelSelectBehaviours.Count; i++)
+ {
+ var behaviour = levelSelectBehaviours[i];
+ if (i < behaviourCount)
+ {
+ behaviour.gameObject.SetActive(true);
+ behaviour.Display(sets[i]);
+ }
+ else
+ {
+ behaviour.gameObject.SetActive(false);
+ }
+ }
+
+ for (var i = 0; i < emptyFillers.Count; i++)
+ {
+ emptyFillers[i].SetActive(i < emptyCount);
+ }
+ }
+
private void DisplayEquips(int level)
{
for (var i = 1; i <= 12; i++)
--
Gitblit v1.8.0