From 80db936a55fabe5e95d7bf7e01ea00a6996b12f7 Mon Sep 17 00:00:00 2001
From: Client_PangDeRong <593317293@qq.com>
Date: 星期三, 23 一月 2019 14:29:32 +0800
Subject: [PATCH] 5930 子 【开发】【1.5.100】诛仙装备开发 / 【前端】【1.5.100】诛仙装备开发

---
 System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs    |   18 +++++
 System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs  |   26 ++++----
 System/JadeDynastyKnapSack/JadeDynastySuitAttrBeh.cs |   84 +++++++++++++++++++++++++---
 System/KnapSack/Logic/EquipTip.cs                    |    4 
 4 files changed, 108 insertions(+), 24 deletions(-)

diff --git a/System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs b/System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs
index 4be664a..3ca76b3 100644
--- a/System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs
+++ b/System/JadeDynastyKnapSack/JadeDynastyEquipModel.cs
@@ -262,17 +262,7 @@
             activeEquips = new List<int>();
             List<int> equipPlaces = null;
             bool isSuit = TryGetEquipPlaces(equipPlace, out equipPlaces);
-            var itemModel = playerPack.GetItemModelByIndex(PackType.rptJadeDynastyEquip,equipPlace);
-            if(itemModel != null)
-            {
-                int equipLv = itemModel.chinItemModel.LV;
-                if(equipLv >= suitLV)
-                {
-                    activeEquips = equipPlaces;
-                    return true;
-                }
-            }
-
+            bool isActive = true;
             if(equipPlaces != null)
             {
                 foreach(var key in equipPlaces)
@@ -285,10 +275,22 @@
                         {
                             activeEquips.Add(key);
                         }
+                        else
+                        {
+                            isActive = false;
+                        }
+                    }
+                    else
+                    {
+                        isActive = false;
                     }
                 }
             }
-            return false;
+            else
+            {
+                isActive = false;
+            }
+            return isActive;
         }
 
         public bool TryGetSuitLV(int equipPlace,PackType type,out int curSuitLv,out int nextSuitLV)
diff --git a/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs b/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs
index fa02f1b..3a4568d 100644
--- a/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs
+++ b/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs
@@ -10,6 +10,7 @@
         [Header("璇涗粰瑁呭浣�")]
         [SerializeField] Button stoneAttrBtn;
         [SerializeField] Button suitAttrBtn;
+        [SerializeField] RawImage playerModel;
         [Header("璇涗粰鑳屽寘")]
         [SerializeField] ScrollerController itemCtrl;
         [SerializeField] int initCount = 100;
@@ -41,6 +42,7 @@
         protected override void OnPreClose()
         {
             playerPack.RefreshItemCountAct -= UpdateJadeDynastyItem;
+            UI3DModelExhibition.Instance.StopShow();
         }
 
         protected override void OnAfterClose()
@@ -52,6 +54,7 @@
         private void SetDisplay()
         {
             CreateItemLine();
+            UpdatePlayerUI3DModel();
         }
 
         private void CreateItemLine()
@@ -69,7 +72,15 @@
         {
             if (type != PackType.rptJadeDynastyItem) return;
 
-            UpdateItemLine();
+            switch(type)
+            {
+                case PackType.rptJadeDynastyItem:
+                    UpdateItemLine();
+                    break;
+                case PackType.rptJadeDynastyEquip:
+                    UpdatePlayerUI3DModel();
+                    break;
+            }
         }
 
         private void UpdateItemLine()
@@ -77,6 +88,11 @@
             itemCtrl.m_Scorller.RefreshActiveCellViews();
         }
 
+        private void UpdatePlayerUI3DModel()
+        {
+            UI3DModelExhibition.Instance.ShowPlayer(playerModel, PlayerDatas.Instance.baseData.Job);
+        }
+
         private void ClickSuitAttr()
         {
             WindowCenter.Instance.Open<JadeDynastySuitAttrWin>();
diff --git a/System/JadeDynastyKnapSack/JadeDynastySuitAttrBeh.cs b/System/JadeDynastyKnapSack/JadeDynastySuitAttrBeh.cs
index 8dac065..ab51925 100644
--- a/System/JadeDynastyKnapSack/JadeDynastySuitAttrBeh.cs
+++ b/System/JadeDynastyKnapSack/JadeDynastySuitAttrBeh.cs
@@ -15,7 +15,73 @@
 
         JadeDynastyEquipModel equipModel { get { return ModelCenter.Instance.GetModel<JadeDynastyEquipModel>(); } }
 
-        public void SetDisplay(PackType type,bool isNext = false)
+        public void SetDisplay(PackType type,bool isNext = false,int equipPlace = 0)
+        {
+           if(equipPlace == 0)
+            {
+                UpdateSumSuitAttr(type, isNext);
+            }
+           else
+            {
+                UpdateEquipSuitAttr(type,isNext,equipPlace);
+            }
+        }
+
+        private void UpdateEquipSuitAttr(PackType type,bool isNext,int equipPlace)
+        {
+            bool isNoneActive = true;
+            bool isMaxSuitLv = true;
+            int suitType = 0;
+            bool isSuit = equipModel.TryGetSuitType(equipPlace,out suitType);
+            for(int i = 0; i < suitAttrs.Count; i++)
+            {
+                var suitAttr = suitAttrs[i];
+                if(i > 0)
+                {
+                    suitAttr.attrTypeObj.SetActive(false);
+                }
+                else
+                {
+                    suitAttr.attrTypeObj.SetActive(true);
+                    JadeDynastyEquipModel.JadeDynastySuitAttrData curAttrData = null;
+                    JadeDynastyEquipModel.JadeDynastySuitAttrData nextAttrData = null;
+                    equipModel.TryGetSumSuitAttr(suitType, type, out curAttrData, out nextAttrData);
+                    if (isNext)
+                    {
+                        if (nextAttrData != null)
+                        {
+                            isMaxSuitLv = false;
+                        }
+                    }
+                    else
+                    {
+                        if (curAttrData != null)
+                        {
+                            isNoneActive = false;
+                        }
+                    }
+                    suitAttr.SetDisplay(suitType, type, isNext);
+                }
+            }
+
+            if (noneActive != null)
+            {
+                if (isNext && isMaxSuitLv)
+                {
+                    noneActive.SetActive(true);
+                }
+                else if (!isNext && isNoneActive)
+                {
+                    noneActive.SetActive(true);
+                }
+                else
+                {
+                    noneActive.SetActive(false);
+                }
+            }
+        }
+
+        private void UpdateSumSuitAttr(PackType type,bool isNext)
         {
             if (!isNext)
             {
@@ -29,31 +95,31 @@
             List<int> suitTypes = equipModel.suitTypeDict.Keys.ToList();
             bool isNoneActive = true;
             bool isMaxSuitLv = true;
-            for(int i = 0; i < suitAttrs.Count; i++)
+            for (int i = 0; i < suitAttrs.Count; i++)
             {
                 var suitAttr = suitAttrs[i];
-                if(i < suitTypes.Count)
+                if (i < suitTypes.Count)
                 {
                     suitAttr.attrTypeObj.SetActive(true);
                     int suitType = suitTypes[i];
                     JadeDynastyEquipModel.JadeDynastySuitAttrData curAttrData = null;
                     JadeDynastyEquipModel.JadeDynastySuitAttrData nextAttrData = null;
-                    equipModel.TryGetSumSuitAttr(suitType,type,out curAttrData, out nextAttrData);
-                    if(isNext)
+                    equipModel.TryGetSumSuitAttr(suitType, type, out curAttrData, out nextAttrData);
+                    if (isNext)
                     {
-                        if(nextAttrData != null)
+                        if (nextAttrData != null)
                         {
                             isMaxSuitLv = false;
                         }
                     }
                     else
                     {
-                        if(curAttrData != null)
+                        if (curAttrData != null)
                         {
                             isNoneActive = false;
                         }
                     }
-                    suitAttr.SetDisplay(suitType,type,isNext);
+                    suitAttr.SetDisplay(suitType, type, isNext);
                 }
                 else
                 {
@@ -61,7 +127,7 @@
                 }
             }
 
-            if(noneActive != null)
+            if (noneActive != null)
             {
                 if (isNext && isMaxSuitLv)
                 {
diff --git a/System/KnapSack/Logic/EquipTip.cs b/System/KnapSack/Logic/EquipTip.cs
index af4e86b..21a7f54 100644
--- a/System/KnapSack/Logic/EquipTip.cs
+++ b/System/KnapSack/Logic/EquipTip.cs
@@ -878,8 +878,8 @@
                 jadeDynastySuitObj.SetActive(false);
                 return;
             }
-            curJadeDynastySuitAttr.SetDisplay(itemAttrData.packType);
-            nextJadeDynastySuitAttr.SetDisplay(itemAttrData.packType, true);
+            curJadeDynastySuitAttr.SetDisplay(itemAttrData.packType,false,itemAttrData.itemConfig.EquipPlace);
+            nextJadeDynastySuitAttr.SetDisplay(itemAttrData.packType, true, itemAttrData.itemConfig.EquipPlace);
         }
 
         private void SetMidUIHeight(float midHeight)

--
Gitblit v1.8.0