From 6376c1e99cbc503384df4e7fec816be9a181fdb8 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 24 一月 2019 11:24:18 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs         |   25 +++++-
 System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs          |    8 +
 System/KnapSack/Logic/PackSendQuestMgr.cs                 |   29 +++---
 System/KnapSack/Logic/PackModelInterface.cs               |   15 ++-
 System/JadeDynastyBoss/JadeDynastyBossVictoryWin.cs       |   16 ++--
 System/KnapSack/Logic/ItemTipsModel.cs                    |  118 +++++++++++++++++++++++++++++
 System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs |    9 +-
 System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs         |   14 +++
 8 files changed, 195 insertions(+), 39 deletions(-)

diff --git a/System/JadeDynastyBoss/JadeDynastyBossVictoryWin.cs b/System/JadeDynastyBoss/JadeDynastyBossVictoryWin.cs
index 671233d..db1cb8b 100644
--- a/System/JadeDynastyBoss/JadeDynastyBossVictoryWin.cs
+++ b/System/JadeDynastyBoss/JadeDynastyBossVictoryWin.cs
@@ -186,16 +186,16 @@
             {
                 return -islhsJadeDynastyEquip.CompareTo(isrhsJadeDynastyEquip);
             }
-            var islhsJadeDynasty126 = IsJadeDynasty126(_lhs);
-            var isrhsJadeDynasty126 = IsJadeDynasty126(_rhs);
-            if (islhsJadeDynasty126 == isrhsJadeDynasty126
-                && islhsJadeDynasty126)
+            var islhsJadeDynasty138 = IsJadeDynasty138(_lhs);
+            var isrhsJadeDynasty138 = IsJadeDynasty138(_rhs);
+            if (islhsJadeDynasty138 == isrhsJadeDynasty138
+                && islhsJadeDynasty138)
             {
                 return _lhs.id.CompareTo(_rhs.id);
             }
-            else if (islhsJadeDynasty126 != isrhsJadeDynasty126)
+            else if (islhsJadeDynasty138 != isrhsJadeDynasty138)
             {
-                return -islhsJadeDynasty126.CompareTo(isrhsJadeDynasty126);
+                return -islhsJadeDynasty138.CompareTo(isrhsJadeDynasty138);
             }
             var lhsConfig = Config.Instance.Get<ItemConfig>(_lhs.id);
             var rhsConfig = Config.Instance.Get<ItemConfig>(_rhs.id);
@@ -217,7 +217,7 @@
             return type >= 128 && type <= 137;
         }
 
-        bool IsJadeDynasty126(Item item)
+        bool IsJadeDynasty138(Item item)
         {
             var config = Config.Instance.Get<ItemConfig>(item.id);
             var type = 0;
@@ -225,7 +225,7 @@
             {
                 type = config.Type;
             }
-            return type == 126;
+            return type == 138;
         }
 
         private void GenerateRewardBehaviour(RectTransform _parent, int _needCount)
diff --git a/System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs b/System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs
index cc13df4..7eace49 100644
--- a/System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs
+++ b/System/JadeDynastyKnapSack/JadeDynastyEquipBeh.cs
@@ -12,6 +12,8 @@
         [SerializeField] Text lockText;
         [SerializeField] Text nameText;
         [SerializeField] Button equipBtn;
+        [SerializeField] GameObject equipLvObj;
+        [SerializeField] Text equipLvText;
 
         ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
         PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
@@ -33,12 +35,13 @@
         public void SetDisplay()
         {
             bool islock = equipModel.IsLockEquipPlace((int)equipType);
+            nameText.gameObject.SetActive(true);
             nameText.text = Language.Get(equipType.ToString());
             lockText.gameObject.SetActive(false);
-            nameText.gameObject.SetActive(false);
             lockObj.SetActive(islock);
             equipBtn.RemoveAllListeners();
             itemCell.cellBtn.RemoveAllListeners();
+            equipLvObj.SetActive(false);
             if(islock)
             {
                 itemCell.gameObject.SetActive(false);
@@ -50,8 +53,15 @@
                 itemCell.gameObject.SetActive(itemModel != null);
                 if (itemModel != null)
                 {
+                    equipLvObj.SetActive(true);
+                    nameText.gameObject.SetActive(false);
                     itemCell.Init(itemModel);
                     itemCell.cellBtn.AddListener(() => { ClickItemCell(itemModel); });
+                    equipLvText.text = Language.Get("L1091",itemModel.chinItemModel.LV);
+                }
+                else
+                {
+                    equipBtn.AddListener(ClickEquipBtn);
                 }
             }
         }
@@ -85,7 +95,7 @@
             if (item == null) return;
 
             tipsModel.SetItemTipsModel(item.packType,item.itemInfo.ItemGUID,false);
-            tipsModel.SetPutOnTipsBtn(tipsModel.curAttrData);
+            tipsModel.SetJadeDynastyPutOnTipsBtn(tipsModel.curAttrData);
             tipsModel.ShowUICtrl();
         }
     }
diff --git a/System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs b/System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs
index 8ce2a5d..dda551b 100644
--- a/System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs
+++ b/System/JadeDynastyKnapSack/JadeDynastyEquipGetPathsWin.cs
@@ -74,10 +74,11 @@
 
         private void UpdatePath()
         {
-            int towerLayer = 0;
-            bool isLock = equipModel.TryGetLockTowerLayer(equipModel.targetEquipPlace,out towerLayer);
+            bool isLock = equipModel.IsLockEquipPlace(equipModel.targetEquipPlace);
             if(isLock)
             {
+                int towerLayer = 0;
+                equipModel.TryGetLockTowerLayer(equipModel.targetEquipPlace,out towerLayer);
                 for (int i = 0; i < paths.Count; i++)
                 {
                     var path = paths[i];
@@ -134,8 +135,8 @@
                     pathText.text = pathConfig.name;
                     pathBtn.AddListener(()=>
                     {
-                        WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)pathConfig.OpenpanelId);
                         WindowCenter.Instance.CloseImmediately<JadeDynastyEquipGetPathsWin>();
+                        WindowJumpMgr.Instance.WindowJumpTo((JumpUIType)pathConfig.OpenpanelId);
                     });
                 }
                 else
@@ -143,8 +144,8 @@
                     pathText.text = Language.Get("JadeDynastyEquip2",towerLayer);
                     pathBtn.AddListener(() =>
                     {
-                        WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.JadeDynastyTower288);
                         WindowCenter.Instance.CloseImmediately<JadeDynastyEquipGetPathsWin>();
+                        WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.JadeDynastyTower288);
                     });
                 }
             }
diff --git a/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs b/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs
index 8424c82..6208c7a 100644
--- a/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs
+++ b/System/JadeDynastyKnapSack/JadeDynastyEquipWin.cs
@@ -21,7 +21,6 @@
         [SerializeField] int initCount = 100;
 
         PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
-        RoleParticularModel particularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
         PackModelInterface modelInterface { get { return ModelCenter.Instance.GetModel<PackModelInterface>(); } }
         JadeDynastyEquipModel equipModel { get { return ModelCenter.Instance.GetModel<JadeDynastyEquipModel>(); } }
 
@@ -40,8 +39,8 @@
 
         protected override void OnPreOpen()
         {
-            particularModel.PowerUpdate += UpdateFightPower;
             playerPack.RefreshItemCountAct += UpdateJadeDynastyItem;
+            playerPack.RefreshPackAct += UpdateJadeDynastyKnapSack;
             SetDisplay();
         }
 
@@ -52,7 +51,7 @@
 
         protected override void OnPreClose()
         {
-            particularModel.PowerUpdate -= UpdateFightPower;
+            playerPack.RefreshPackAct -= UpdateJadeDynastyKnapSack;
             playerPack.RefreshItemCountAct -= UpdateJadeDynastyItem;
             UI3DModelExhibition.Instance.StopShow();
             equipModel.ClearLookItemModel();
@@ -107,9 +106,26 @@
             itemCtrl.Restart();
         }
 
+        private void UpdateJadeDynastyKnapSack(PackType type)
+        {
+            if (type != PackType.rptJadeDynastyItem) return;
+
+            UpdateItemLine();
+        }
         private void UpdateFightPower()
         {
-            fightPowerText.text = particularModel.GetFuncFightPower((int)FuncPowerType.JadeDynastyEquip).ToString();
+            int fightPower = 0;
+            var singlePack = playerPack.GetSinglePackModel(PackType.rptJadeDynastyEquip);
+            if (singlePack != null)
+            {
+                var dict = singlePack.GetPackModelIndexDict();
+                foreach(var model in dict.Values)
+                {
+                    fightPower += model.equipScore;
+                }
+            }
+
+            fightPowerText.text = fightPower.ToString();
         }
 
         private void UpdateJadeDynastyItem(PackType type, int index, int id)
@@ -124,6 +140,7 @@
                     break;
                 case PackType.rptJadeDynastyEquip:
                     UpdatePlayerUI3DModel();
+                    UpdateFightPower();
                     break;
             }
         }
diff --git a/System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs b/System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs
index f793382..8cfffa4 100644
--- a/System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs
+++ b/System/JadeDynastyKnapSack/JadeDynastyItemBeh.cs
@@ -8,6 +8,8 @@
         [SerializeField] ItemCell itemCell;
         [SerializeField] Button lockBtn;
         [SerializeField] UIEffect effect;
+        [SerializeField] GameObject equipLvObj;
+        [SerializeField] Text equipLvText;
 
         ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
         PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
@@ -20,21 +22,25 @@
 
             var itemModel = playerPack.GetItemModelByIndex(PackType.rptJadeDynastyItem, index);
             itemCell.gameObject.SetActive(itemModel != null);
+         
             if(itemModel != null)
             {
+                equipLvObj.SetActive(true);
                 lockBtn.gameObject.SetActive(false);
                 itemCell.Init(itemModel,true);
+                equipLvText.text = Language.Get("L1091",itemModel.chinItemModel.LV);
                 itemCell.cellBtn.RemoveAllListeners();
                 itemCell.cellBtn.AddListener(()=>
                 {
                     tipsModel.SetItemTipsModel(itemModel.packType,itemModel.itemInfo.ItemGUID,false,true);
-                    tipsModel.SetBagTipsBtn(tipsModel.curAttrData);
+                    tipsModel.SetJadeDynastyItemTipsBtn(tipsModel.curAttrData);
                     tipsModel.ShowUICtrl();
                 });
                 UpdatePlayerEffect(itemModel.itemInfo.ItemGUID);
             }
             else
             {
+                equipLvObj.SetActive(false);
                 bool isLock = index > (singlePack.openGridCount - 1);
                 lockBtn.gameObject.SetActive(isLock);
                 UpdatePlayerEffect(null);
diff --git a/System/KnapSack/Logic/ItemTipsModel.cs b/System/KnapSack/Logic/ItemTipsModel.cs
index 9825af4..75af654 100644
--- a/System/KnapSack/Logic/ItemTipsModel.cs
+++ b/System/KnapSack/Logic/ItemTipsModel.cs
@@ -1075,6 +1075,100 @@
                 }
             }
         }
+
+        public void SetJadeDynastyItemTipsBtn(ItemAttrData attrData)
+        {
+            if (attrData == null) return;
+
+            bool isOverdue = modelInterface.IsOverdue(attrData.guid, attrData.itemId, attrData.useDataDict);
+            if (attrData.itemConfig.CanSell == 1)
+            {
+                attrData.SetTipsFuncBtn(ItemWinBtnType.sell, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendSellQuest(ItemWinBtnType.sell, attrData); });
+            }
+            List<int> dismantleReturnlist = attrData.GetUseDataModel((int)ItemUseDataKey.Def_IudetItemDecompound);
+            if (dismantleReturnlist != null && dismantleReturnlist.Count > 0)
+            {
+                attrData.SetTipsFuncBtn(ItemWinBtnType.dismantle, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendDismantleQuest(ItemWinBtnType.dismantle, attrData); });
+            }
+
+            if (!isOverdue)
+            {
+                if (attrData.itemConfig.JumpComposeCondi != null && attrData.itemConfig.JumpComposeCondi.Length > 0)
+                {
+                    attrData.SetTipsFuncBtn(ItemWinBtnType.compose, (ItemWinBtnType, ItemAttrData) => {
+                        int jumpId = 0;
+                        bool isUnlock = ModelCenter.Instance.GetModel<ComposeWinModel>().CheckComposeItemById(attrData.itemId, out jumpId);
+                        if (isUnlock)
+                        {
+                            PackSendQuestMgr.Instance.ClickComposeBtn(ItemWinBtnType.compose, jumpId);
+                        }
+                    });
+                }
+
+                if (attrData.itemConfig.Type == 25 && attrData.itemConfig.Effect1 == 225)
+                {
+                    attrData.SetTipsFuncBtn(ItemWinBtnType.inlay, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.ClickInlayBtn(ItemWinBtnType.inlay, attrData.guid); });
+                }
+
+                if (attrData.itemConfig.CanTrade == 1 && attrData.isBind == 0)
+                {
+                    attrData.SetTipsFuncBtn(ItemWinBtnType.putAway, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutAwayQuest(ItemWinBtnType.putAway, attrData.guid); });
+                }
+            }
+
+            if (attrData.count > 1)
+            {
+                attrData.SetTipsFuncBtn(ItemWinBtnType.split, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.OnClickSplitBtn(ItemWinBtnType.split, attrData.guid); });
+            }
+
+            if (!isOverdue)
+            {
+                switch (attrData.winType)
+                {
+                    case ItemWinType.equipWin:
+                        attrData.SetTipsFuncBtn(ItemWinBtnType.putOn, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendPutOnQuest(ItemWinBtnType.putOn, attrData.guid); });
+                        break;
+                }
+
+                if (attrData.itemConfig.UseTag == 1)
+                {
+                    attrData.SetTipsFuncBtn(ItemWinBtnType.makeUse, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendUseItemQuest(ItemWinBtnType.makeUse, attrData.index); });
+                }
+            }
+
+            for (int i = 0; i < ItemRenewalIds.Length; i++)
+            {
+                if (ItemRenewalIds[i] == attrData.itemId)
+                {
+                    if (isOverdue)
+                    {
+                        attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { PackSendQuestMgr.Instance.SendRenewalQuest(ItemWinBtnType.renewal, attrData.guid); });
+                    }
+                }
+            }
+
+            for (int i = 0; i < tryPutOnEquipIds.Length; i++)
+            {
+                if (tryPutOnEquipIds[i] == attrData.itemId)
+                {
+                    if (PlayerDatas.Instance.baseData.coinPointTotal <= 0)
+                    {
+                        attrData.SetTipsFuncBtn(ItemWinBtnType.renewal, (ItemWinBtnType, ItemAttrData) => { WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.FirstRecharge); });
+                    }
+                }
+            }
+        }
+
+        public void SetJadeDynastyPutOnTipsBtn(ItemAttrData attrData)
+        {
+            if (attrData == null) return;
+
+            RoleEquipType equipType = (RoleEquipType)attrData.itemConfig.EquipPlace;
+
+            attrData.SetTipsFuncBtn(ItemWinBtnType.putOff, (ItemWinBtnType, ItemAttrData) => {
+                PackSendQuestMgr.Instance.SendPutOffQuest(ItemWinBtnType.putOff, attrData.guid);
+            });
+        }
         #endregion
 
         #region 璁剧疆鑾峰彇閫斿緞鍒楄〃
@@ -1480,6 +1574,18 @@
                 case 9:
                 case 10:
                 case 12:
+                case 121:
+                case 122:
+                case 123:
+                case 124:
+                case 125:
+                case 126:
+                case 127:
+                case 128:
+                case 129:
+                case 130:
+                case 131:
+                case 132:
                     idlist.Sort(CompareLegendAttrType);
                     break;
                 case 101:
@@ -1634,6 +1740,18 @@
                         case 9:
                         case 10:
                         case 12:
+                        case 121:
+                        case 122:
+                        case 123:
+                        case 124:
+                        case 125:
+                        case 126:
+                        case 127:
+                        case 128:
+                        case 129:
+                        case 130:
+                        case 131:
+                        case 132:
                             s = GetTextColorByLegendType(GetLegendType(idlist[i]), s);
                             break;
                         case 101:
diff --git a/System/KnapSack/Logic/PackModelInterface.cs b/System/KnapSack/Logic/PackModelInterface.cs
index f326a79..8bab37a 100644
--- a/System/KnapSack/Logic/PackModelInterface.cs
+++ b/System/KnapSack/Logic/PackModelInterface.cs
@@ -463,13 +463,16 @@
                     Equation.Instance.AddKeyValue("AtkSpeedC", 0);
                 }
                 DebugEx.Log("璇勫垎锛�" + Equation.Instance.Eval<double>(_equipGSFormula.Numerical1));
-                if (type == PackType.rptDogzEquip || type == PackType.rptDogzItem)
+                switch(type)
                 {
-                    return Equation.Instance.Eval<int>(_equipGSFormula.Numerical3);
-                }
-                else
-                {
-                    return Equation.Instance.Eval<int>(_equipGSFormula.Numerical1);
+                    case PackType.rptDogzEquip:
+                    case PackType.rptDogzItem:
+                         return Equation.Instance.Eval<int>(_equipGSFormula.Numerical3);
+                    case PackType.rptJadeDynastyItem:
+                    case PackType.rptJadeDynastyEquip:
+                        return Equation.Instance.Eval<int>(_equipGSFormula.Numerical4);
+                    default:
+                        return Equation.Instance.Eval<int>(_equipGSFormula.Numerical1);
                 }
             }
             return 0;
diff --git a/System/KnapSack/Logic/PackSendQuestMgr.cs b/System/KnapSack/Logic/PackSendQuestMgr.cs
index 0f50df8..7a2e804 100644
--- a/System/KnapSack/Logic/PackSendQuestMgr.cs
+++ b/System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -166,20 +166,6 @@
                 }
             }
 
-            if(config.EquipPlace >= (int)RoleEquipType.JadeDynasty_Cloak
-                && config.EquipPlace <= (int)RoleEquipType.JadeDynasty_Sword4)
-            {
-                var jadeDynastyModel = ModelCenter.Instance.GetModel<JadeDynastyEquipModel>();
-                bool islock = jadeDynastyModel.IsLockEquipPlace(config.EquipPlace);
-                isCanPut = !islock;
-                if(islock)
-                {
-                    int towerlayer = 0;
-                    jadeDynastyModel.TryGetLockTowerLayer(config.EquipPlace,out towerlayer);
-                    SysNotifyMgr.Instance.ShowTip("JadeDynastyEquip",towerlayer);
-                }
-            }
-
             if(isCanPut)
             {
                 CheckPutOnPlace();
@@ -570,6 +556,21 @@
                 return;
             }
 
+            if (sendItemModel.chinItemModel.EquipPlace >= (int)RoleEquipType.JadeDynasty_Cloak
+              && sendItemModel.chinItemModel.EquipPlace <= (int)RoleEquipType.JadeDynasty_Sword4)
+            {
+                var jadeDynastyModel = ModelCenter.Instance.GetModel<JadeDynastyEquipModel>();
+                bool islock = jadeDynastyModel.IsLockEquipPlace(sendItemModel.chinItemModel.EquipPlace);
+                if (islock)
+                {
+                    int towerlayer = 0;
+                    jadeDynastyModel.TryGetLockTowerLayer(sendItemModel.chinItemModel.EquipPlace, out towerlayer);
+                    SysNotifyMgr.Instance.ShowTip("JadeDynastyEquip", towerlayer);
+                    return;
+                }
+            }
+
+
             if (sendItemModel != null && sendItemModel.itemInfo.IsBind == 0)
             {
                 ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("JadeDynastyEquip5"),(bool isOk)=>

--
Gitblit v1.8.0