From e005994d32105faa2cccdedfa2de4eaa8223fe0a Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 26 三月 2019 11:38:55 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 System/ItemTip/TipGemInfoWidget.cs      |    1 
 System/Equip/EquipModel.cs              |   80 +++++++++++++++++++++++++-
 System/Auction/MyFocusWin.cs            |    9 ++-
 Lua/Gen/SnxxzUIEquipModelWrap.cs        |    6 --
 System/Equip/EquipSlotBehaviour.cs      |    4 +
 System/Equip/CandidateEquipBehaviour.cs |    9 ++
 System/Auction/AuctionHouseWin.cs       |    2 
 System/Auction/AttentionWin.cs          |    8 ++
 System/Auction/TransactionRecordWin.cs  |    6 ++
 9 files changed, 110 insertions(+), 15 deletions(-)

diff --git a/Lua/Gen/SnxxzUIEquipModelWrap.cs b/Lua/Gen/SnxxzUIEquipModelWrap.cs
index 5ad737a..2a8966a 100644
--- a/Lua/Gen/SnxxzUIEquipModelWrap.cs
+++ b/Lua/Gen/SnxxzUIEquipModelWrap.cs
@@ -286,12 +286,6 @@
             
                 
                 {
-                    string _equipGuid = LuaAPI.lua_tostring(L, 2);
-                    
-                    gen_to_be_invoked.SelectCandidateEquip( _equipGuid );
-                    
-                    
-                    
                     return 0;
                 }
                 
diff --git a/System/Auction/AttentionWin.cs b/System/Auction/AttentionWin.cs
index bf97420..2e933cf 100644
--- a/System/Auction/AttentionWin.cs
+++ b/System/Auction/AttentionWin.cs
@@ -21,7 +21,8 @@
         [SerializeField] Button m_CloseButton;
         AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
         AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
-        List<AuctionItemConfig> auctionItemList = new List<AuctionItemConfig>();
+        List<AuctionItemConfig> auctionItemList = new List<AuctionItemConfig>();
+        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
         int ItemType = 1;
         #region Built-in
         enum AttentionType
@@ -111,6 +112,11 @@
                     }
                     ItemCellModel cellModel = new ItemCellModel(itemConfig.ID, true, (ulong)1);
                     itemCell.Init(cellModel);
+                    itemCell.button.SetListener(() =>
+                    {
+                        ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)1);
+                        itemTipsModel.SetItemTipsModel(attrData);
+                    });
                     textName.text = itemConfig.ItemName;
                     if (model.AttentionAuctionItemIDdic.ContainsKey(auctionItem.ItemID))
                     {
diff --git a/System/Auction/AuctionHouseWin.cs b/System/Auction/AuctionHouseWin.cs
index 348d623..a88cdc2 100644
--- a/System/Auction/AuctionHouseWin.cs
+++ b/System/Auction/AuctionHouseWin.cs
@@ -68,7 +68,7 @@
 
         protected override void OnPreClose()
         {
-            CloseChild();
+            CloseImmediately();
             if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>())
             {
                 WindowCenter.Instance.Open<MainInterfaceWin>();
diff --git a/System/Auction/MyFocusWin.cs b/System/Auction/MyFocusWin.cs
index ac08e4f..39fa60f 100644
--- a/System/Auction/MyFocusWin.cs
+++ b/System/Auction/MyFocusWin.cs
@@ -42,7 +42,7 @@
         {
             model.AttentionAuctionItemUdate += Reset;
             model.ClearAuctionUpdate += Reset;
-            model.RefreshAuctionItemUpdate -= Update;//鍒锋柊
+            model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//鍒锋柊
             model.FamilyAuctionItemUpdate += Reset;
         }
 
@@ -52,9 +52,10 @@
         {
             model.AttentionAuctionItemUdate -= Reset;
             model.ClearAuctionUpdate -= Reset;
-            model.RefreshAuctionItemUpdate -= Update;//鍒锋柊
+            model.RefreshAuctionItemUpdate -= AuctionItemUpdate;//鍒锋柊
             model.FamilyAuctionItemUpdate -= Reset;
         }
+
 
 
         protected override void OnAfterClose()
@@ -68,10 +69,12 @@
             ListSotr();
             OnCreateGridLineCell(m_ScrollerController);
         }
-        private void Update()
+
+        private void AuctionItemUpdate()
         {
             m_ScrollerController.m_Scorller.RefreshActiveCellViews();//鍒锋柊鍙
         }
+
         private void OnCreateGridLineCell(ScrollerController gridCtrl)
         {
             gridCtrl.Refresh();
diff --git a/System/Auction/TransactionRecordWin.cs b/System/Auction/TransactionRecordWin.cs
index e3fd74e..eb65a9b 100644
--- a/System/Auction/TransactionRecordWin.cs
+++ b/System/Auction/TransactionRecordWin.cs
@@ -25,6 +25,7 @@
         AuctionInquiryModel model { get { return ModelCenter.Instance.GetModel<AuctionInquiryModel>(); } }
         AuctionHelpModel auctionHelpModel { get { return ModelCenter.Instance.GetModel<AuctionHelpModel>(); } }
         private List<AuctionItemClass> AuctionRecordList = new List<AuctionItemClass>();
+        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
         int AuctionType = 0;
         int MaxCount = 0;
         #region Built-in
@@ -174,6 +175,11 @@
             }
 
             itemCell.Init(cellModel);
+            itemCell.button.SetListener(() =>
+            {
+                ItemAttrData attrData = new ItemAttrData(itemConfig.ID, true, (ulong)1);
+                itemTipsModel.SetItemTipsModel(attrData);
+            });
             textName.text = itemConfig.ItemName;
             timeText.text = auctionRecord.TimeStr;
         }
diff --git a/System/Equip/CandidateEquipBehaviour.cs b/System/Equip/CandidateEquipBehaviour.cs
index bb6f569..e59f812 100644
--- a/System/Equip/CandidateEquipBehaviour.cs
+++ b/System/Equip/CandidateEquipBehaviour.cs
@@ -17,6 +17,7 @@
         [SerializeField] Text m_EquipName;
         [SerializeField] Text m_EquipSorce;
         [SerializeField] Button m_Select;
+        [SerializeField] RectTransform m_SelectedContainer;
 
         EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
         PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -51,7 +52,7 @@
             m_ItemCell.button.enabled = false;
 
             var isEquipLevelUnlocked = model.IsLevelUnLocked(equip.config.LV);
-            m_BackGround.gray=!isEquipLevelUnlocked;
+            m_BackGround.gray = !isEquipLevelUnlocked;
             m_UnLockLabel.gameObject.SetActive(!isEquipLevelUnlocked);
             m_EquipName.text = equip.config.ItemName;
             m_EquipName.color = UIHelper.GetUIColor(equip.config.ItemColor, true);
@@ -65,6 +66,7 @@
         {
             if (force || candidateEquip.selected.dirty)
             {
+                m_SelectedContainer.gameObject.SetActive(candidateEquip.selected.Fetch());
             }
         }
 
@@ -74,6 +76,11 @@
             tipModel.SetItemTipsModel(PackType.Item, equip.guid, false, true);
             tipModel.SetBagTipsBtn(tipModel.curAttrData);
             tipModel.ShowUICtrl();
+
+            if (this.candidateEquip.selected.value)
+            {
+                model.ClearRecommendCandidateEquip();
+            }
         }
 
     }
diff --git a/System/Equip/EquipModel.cs b/System/Equip/EquipModel.cs
index ad92a5e..2f91075 100644
--- a/System/Equip/EquipModel.cs
+++ b/System/Equip/EquipModel.cs
@@ -258,12 +258,86 @@
             }
         }
 
-        public void SelectCandidateEquip(string equipGuid)
+        public bool HasSamePlaceCandidateEquip(Int2 equipPosition)
         {
             for (int i = 0; i < candidateEquips.Count; i++)
             {
-                var candidateEquip = candidateEquips[i];
-                candidateEquip.selected.value = candidateEquip.guid == equipGuid;
+                var item = packModel.GetItemByGuid(candidateEquips[i].guid);
+                if (item != null && item.config.LV == equipPosition.x && item.config.EquipPlace == equipPosition.y)
+                {
+                    return true;
+                }
+            }
+
+            return false;
+        }
+
+        public void RecommendCandidateEquip(Int2 equipPosition)
+        {
+            var highestScore = 0;
+            var highestScoreEquip = string.Empty;
+            for (int i = 0; i < candidateEquips.Count; i++)
+            {
+                var candidate = candidateEquips[i];
+                var item = packModel.GetItemByGuid(candidate.guid);
+                if (equipPosition.x == item.config.LV && item.config.EquipPlace == equipPosition.y)
+                {
+                    if (item.score > highestScore)
+                    {
+                        highestScore = item.score;
+                        highestScoreEquip = candidate.guid;
+                    }
+                }
+            }
+
+            if (!string.IsNullOrEmpty(highestScoreEquip))
+            {
+                candidateEquips.Sort((CandidateEquip x, CandidateEquip y) =>
+                {
+                    if (x.guid == highestScoreEquip && y.guid != highestScoreEquip)
+                    {
+                        return -1;
+                    }
+                    else if (x.guid != highestScoreEquip && y.guid == highestScoreEquip)
+                    {
+                        return 1;
+                    }
+                    else
+                    {
+                        var betterX = CompareToCurrent(x.guid);
+                        var betterY = CompareToCurrent(y.guid);
+
+                        if (betterX > 0 && betterY < 0)
+                        {
+                            return -1;
+                        }
+                        else if (betterX < 0 && betterY > 0)
+                        {
+                            return 1;
+                        }
+                        else
+                        {
+                            var a = packModel.GetItemByGuid(x.guid);
+                            var b = packModel.GetItemByGuid(y.guid);
+                            return -a.score.CompareTo(b.score);
+                        }
+                    }
+
+                });
+            }
+
+            for (int i = 0; i < candidateEquips.Count; i++)
+            {
+                candidateEquips[i].selected.value = candidateEquips[i].guid == highestScoreEquip;
+            }
+
+        }
+
+        public void ClearRecommendCandidateEquip()
+        {
+            for (int i = 0; i < candidateEquips.Count; i++)
+            {
+                candidateEquips[i].selected.value = false;
             }
         }
 
diff --git a/System/Equip/EquipSlotBehaviour.cs b/System/Equip/EquipSlotBehaviour.cs
index e9b6353..659b425 100644
--- a/System/Equip/EquipSlotBehaviour.cs
+++ b/System/Equip/EquipSlotBehaviour.cs
@@ -119,6 +119,10 @@
                     tipModel.SetPutOnTipsBtn(tipModel.curAttrData);
                     tipModel.ShowUICtrl();
                 }
+                else if (model.HasSamePlaceCandidateEquip(slot.equipPosition))
+                {
+                    model.RecommendCandidateEquip(slot.equipPosition);
+                }
                 else
                 {
                     model.RefreshGetWays(slot.equipPosition);
diff --git a/System/ItemTip/TipGemInfoWidget.cs b/System/ItemTip/TipGemInfoWidget.cs
index 2aae80e..7897ff3 100644
--- a/System/ItemTip/TipGemInfoWidget.cs
+++ b/System/ItemTip/TipGemInfoWidget.cs
@@ -74,6 +74,7 @@
                         }
 
                         propertyBehaviour.text = string.Join("\r\n", lines);
+                        propertyBehaviour.gameObject.SetActive(true);
                     }
                     else
                     {

--
Gitblit v1.8.0