From 642d09ae6081455d1610eb554f5c3faba257e9cd Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期日, 16 三月 2025 02:03:32 +0800
Subject: [PATCH] 10417 【英文】【bt】【越南】【砍树】TIP优化

---
 System/ItemTip/ItemBoxTipWin.cs                                |  162 +++++++++++++++++++++++++++
 System/WindowBase/Window.cs                                    |    2 
 System/ItemTip/ItemTipWin.cs                                   |    2 
 LogicProject/System/TreasurePavilion/TreasurePavilionModel.cs  |    2 
 System/KnapSack/Logic/ItemOperateUtility.cs                    |    2 
 LogicProject/System/TreasurePavilion/TreasurePavilionTipWin.cs |   26 +++
 Core/GameEngine/Model/TelPartialConfig/ChestsAwardConfig.cs    |    5 
 System/ZhanLingH/ZhanLingHActBuyWin.cs                         |    4 
 System/ItemTip/ItemBoxTipWin.cs.meta                           |   11 +
 System/ItemTip/TipItemDescriptionWidget.cs                     |   28 ++++
 System/KnapSack/New/ChooseItemsCell.cs                         |    4 
 Core/GameEngine/Model/Config/ChestsAwardConfig.cs              |   13 +
 System/ItemTip/ItemTipUtility.cs                               |   82 ++++++++-----
 System/ZhanLingH/ZhanLingHBuyWin.cs                            |    4 
 14 files changed, 302 insertions(+), 45 deletions(-)

diff --git a/Core/GameEngine/Model/Config/ChestsAwardConfig.cs b/Core/GameEngine/Model/Config/ChestsAwardConfig.cs
index 2a853c6..4c4f0ad 100644
--- a/Core/GameEngine/Model/Config/ChestsAwardConfig.cs
+++ b/Core/GameEngine/Model/Config/ChestsAwardConfig.cs
@@ -1,6 +1,6 @@
 锘�//--------------------------------------------------------
 //    [Author]:           Fish
-//    [  Date ]:           2024骞�5鏈�17鏃�
+//    [  Date ]:           2025骞�3鏈�14鏃�
 //--------------------------------------------------------
 
 using System.Collections.Generic;
@@ -17,6 +17,9 @@
 	public readonly int BoxID;
 	public readonly int BoxLV;
 	public readonly string SelectList;
+	public readonly string FixedItem;
+	public readonly string Probability1;
+	public readonly string Probability2;
 	public readonly string JobItem;
 
 	public ChestsAwardConfig()
@@ -37,7 +40,13 @@
 
 			SelectList = tables[3];
 
-			JobItem = tables[4];
+			FixedItem = tables[4];
+
+			Probability1 = tables[5];
+
+			Probability2 = tables[6];
+
+			JobItem = tables[7];
         }
         catch (Exception ex)
         {
diff --git a/Core/GameEngine/Model/TelPartialConfig/ChestsAwardConfig.cs b/Core/GameEngine/Model/TelPartialConfig/ChestsAwardConfig.cs
index ef29122..2c8835d 100644
--- a/Core/GameEngine/Model/TelPartialConfig/ChestsAwardConfig.cs
+++ b/Core/GameEngine/Model/TelPartialConfig/ChestsAwardConfig.cs
@@ -58,6 +58,11 @@
         chestAwardDict.TryGetValue(key, out chestsAwardConfig);
         return chestsAwardConfig;
     }
+
+    public static bool IsBox(int itemID)
+    {
+        return chestIdDict.ContainsKey(itemID);
+    }
 }
 
 
diff --git a/LogicProject/System/TreasurePavilion/TreasurePavilionModel.cs b/LogicProject/System/TreasurePavilion/TreasurePavilionModel.cs
index 5e269eb..e020eb0 100644
--- a/LogicProject/System/TreasurePavilion/TreasurePavilionModel.cs
+++ b/LogicProject/System/TreasurePavilion/TreasurePavilionModel.cs
@@ -18,6 +18,7 @@
     public event Action UpdateGubaoEvent;
     public Dictionary<int, Dictionary<int, int[]>> probabilityDisplayDict = new Dictionary<int, Dictionary<int, int[]>>();
     public int selectGubao; //浠庤棌瀹濋榿閫変腑
+    public int showTipFromPiece = 0; //0 鍙ゅ疂 鍏朵粬鏁板瓧涓哄彜瀹濈鐗嘔D
     public int waitActiveGubao; //婵�娲荤瓑寰呮樉绀虹殑鍙ゅ疂
     public int upgradeGubao;    //褰撳墠鍗囩骇鍗囨槦鐨勫彜瀹�
     public int upgradeFuncOrder = 0;//0鍗囨槦1鍗囩骇
@@ -222,6 +223,7 @@
         gubaoAwardDict.Clear();
         gubaoItemCountDict.Clear();
         getA3CBCount = 0;
+        showTipFromPiece = 0;
     }
 
 
diff --git a/LogicProject/System/TreasurePavilion/TreasurePavilionTipWin.cs b/LogicProject/System/TreasurePavilion/TreasurePavilionTipWin.cs
index a560b6c..2d0d307 100644
--- a/LogicProject/System/TreasurePavilion/TreasurePavilionTipWin.cs
+++ b/LogicProject/System/TreasurePavilion/TreasurePavilionTipWin.cs
@@ -9,7 +9,7 @@
 using UnityEngine;
 using LitJson;
 
-
+//鏄剧ず鍙ゅ疂 鎴栬�� 鍙ゅ疂纰庣墖鐨勮缁嗕俊鎭� TreasurePavilionModel.Instance.showTipFromPiece
 public class TreasurePavilionTipWin : ILWindow
 {
     Text name;
@@ -144,7 +144,12 @@
         var gubaoInfo = TreasurePavilionModel.Instance.TryGetGubaoInfo(gubaoID);
         var config = ILGubaoConfig.Get(gubaoID);
         Debug.LogFormat("鍙ゅ疂ID锛歿0} 鐗╁搧ID锛歿1}", gubaoID, config.UnlockItemID);
-        if (gubaoInfo.Count > 0 && gubaoInfo[1] > 0)
+
+        if (TreasurePavilionModel.Instance.showTipFromPiece != 0)
+        {
+            name.text = ItemConfig.Get(TreasurePavilionModel.Instance.showTipFromPiece).ItemName;
+        }
+        else if (gubaoInfo.Count > 0 && gubaoInfo[1] > 0)
         {
             name.text = config.Name + "+" + gubaoInfo[1];
         }
@@ -153,8 +158,11 @@
             name.text = config.Name;
         }
         name.color = UIHelper.GetUIColor(config.GubaoQuality);
-        gubaoImg.SetSprite(config.Icon);
-
+        if (TreasurePavilionModel.Instance.showTipFromPiece == 0)
+            gubaoImg.SetSprite(config.Icon);
+        else
+            gubaoImg.SetSprite(ItemConfig.Get(TreasurePavilionModel.Instance.showTipFromPiece).IconKey);
+
         var maxStar = ILGubaoStarConfig.GetMaxStar(gubaoID);
         for (int i = 0; i < starObjs.Count; i++)
         {
@@ -180,7 +188,14 @@
         var score = TreasurePavilionModel.Instance.GetGubaoScore(gubaoID);
         scoreText.SetActiveIL(score != 0);
         scoreText.text = Language.Get("DogzFunc106", score);
-        descText.text = config.Desc;
+        if (TreasurePavilionModel.Instance.showTipFromPiece == 0)
+            descText.text = config.Desc;
+        else
+        {
+            var itemConfig = ItemConfig.Get(TreasurePavilionModel.Instance.showTipFromPiece);
+            descText.text = StringUtility.Contact(Language.Get("KnapS110"), " ", itemConfig.UseLV, "</r>", itemConfig.Description, "</r>", config.Desc);
+        }
+
         var showLV = gubaoInfo.Count == 0 ? 1 : gubaoInfo[1];   //鏈縺娲绘樉绀�0绾�
         var lvConfig = ILGubaoLVConfig.Get(ILGubaoLVConfig.GetGubaoQualityLVIndex(config.GubaoType, config.GubaoQuality, showLV));
         for (int i = 0; i < baseAttrList.Count; i++)
@@ -301,6 +316,7 @@
     {
         scroller.OnRefreshCell -= OnRefreshCell;
         scroller1.OnRefreshCell -= OnRefreshCell1;
+        TreasurePavilionModel.Instance.showTipFromPiece = 0;
     }
 
     void OnRefreshCell(ScrollerDataType type, CellView cell)
diff --git a/System/ItemTip/ItemBoxTipWin.cs b/System/ItemTip/ItemBoxTipWin.cs
new file mode 100644
index 0000000..8131a5f
--- /dev/null
+++ b/System/ItemTip/ItemBoxTipWin.cs
@@ -0,0 +1,162 @@
+锘�//--------------------------------------------------------
+//    [Author]:           绗簩涓栫晫
+//    [  Date ]:           Tuesday, March 12, 2019
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using LitJson;
+using System.Linq;
+
+namespace vnxbqy.UI
+{
+
+    public class ItemBoxTipWin : ItemTipWin
+    {
+
+        [SerializeField] RectTransform boxItemsObj;
+
+
+        #region Built-in
+
+        protected override void OnActived()
+        {
+            base.OnActived();
+
+            StartCoroutine(Co_DelayOneFrame());
+        }
+
+
+        #endregion
+
+        IEnumerator Co_DelayOneFrame()
+        {
+            this.transform.localScale = new Vector3(0, 1, 0);
+            DisplayerBoxItems();
+
+            yield return null;
+            yield return null;
+            this.transform.localScale = Vector3.one;
+        }
+
+
+        //鏄剧ず瀹濈涓殑鐗╁搧
+        void DisplayerBoxItems()
+        {
+            var baseInfo = ItemTipUtility.mainTipData.baseInfo;
+
+            if (!ChestsAwardConfig.IsBox(baseInfo.itemId))
+            {
+                boxItemsObj.SetActive(false);
+                return;
+            }
+            boxItemsObj.SetActive(true);
+            //鍒犻櫎boxItemsObj鐨勬墍鏈夊瓙鐗╀綋
+            for (int i = 0; i < boxItemsObj.childCount; i++)
+            {
+                Destroy(boxItemsObj.GetChild(i).gameObject);
+            }
+
+            var config = ChestsAwardConfig.GetChestsAwardByID(baseInfo.itemId);
+            int jobIndex = PlayerDatas.Instance.baseData.Job - 1;
+            //浼樺厛鍒ゆ柇 鏈夎亴涓氬尯鍒嗙殑瀹濈锛岃亴涓氭浛鎹㈢墿鍝佺粍JobItem绛夊悓浜庡寘鍚簡鎵�鏈夌墿鍝�
+            if (!string.IsNullOrEmpty(config.JobItem))
+            {
+                var arr = JsonMapper.ToObject<int[][]>(config.JobItem);
+                for (int i = 0; i < arr.Length; i++)
+                {
+                    //鏍规嵁鑱屼笟鏄剧ず
+                    CreateItemCell(arr[i][jobIndex]);
+                }
+            }
+            else
+            {
+                List<int> itemIDs = new List<int>();
+                if (!string.IsNullOrEmpty(config.SelectList))
+                {
+                    var selectlistDict = ConfigParse.GetDic<int, int>(config.SelectList);
+                    foreach (var item in selectlistDict)
+                    {
+                        if (!itemIDs.Contains(item.Key))
+                        {
+                            itemIDs.Add(item.Key);
+                        }
+                    }
+                }
+
+                if (!string.IsNullOrEmpty(config.FixedItem))
+                {
+                    var itemListDict = ConfigParse.GetDic<int, int>(config.FixedItem);
+                    foreach (var item in itemListDict)
+                    {
+                        if (!itemIDs.Contains(item.Key))
+                        {
+                            itemIDs.Add(item.Key);
+                        }
+                    }
+                }
+
+                if (!string.IsNullOrEmpty(config.Probability1))
+                {
+                    var arr = JsonMapper.ToObject(config.Probability1);
+
+                    for (int i = 0; i < arr.Count; i++)
+                    {
+                        var itemID = int.Parse(arr[i][1][0].ToString());
+
+                        if (!itemIDs.Contains(itemID))
+                        {
+                            itemIDs.Add(itemID);
+                        }
+                    }
+                }
+
+                if (!string.IsNullOrEmpty(config.Probability2))
+                {
+                    var arr = JsonMapper.ToObject(config.Probability2);
+
+                    for (int i = 0; i < arr.Count; i++)
+                    {
+                        var itemID = int.Parse(arr[i][1][0].ToString());
+
+                        if (!itemIDs.Contains(itemID))
+                        {
+                            itemIDs.Add(itemID);
+                        }
+                    }
+                }
+                if (itemIDs.Count == 0)
+                {
+                    boxItemsObj.SetActive(false);
+                    return;
+                }
+
+                for (int i = 0; i < itemIDs.Count; i++)
+                {
+                    CreateItemCell(itemIDs[i]);
+                }
+            }
+
+        }
+
+        void CreateItemCell(int itemID)
+        {
+            var instance = UIUtility.CreateWidget("ItemCell", "ItemCell");
+            var behaviour = instance.GetComponent<ItemCell>();
+            behaviour.transform.SetParentEx(boxItemsObj, Vector3.zero, Quaternion.identity, Vector3.one);
+            behaviour.Init(new ItemCellModel(itemID, false, 1));
+            behaviour.button.AddListener(() => {
+                ItemTipUtility.Show(itemID);
+            });
+        }
+
+
+    }
+}
+
+
+
+
diff --git a/System/ItemTip/ItemBoxTipWin.cs.meta b/System/ItemTip/ItemBoxTipWin.cs.meta
new file mode 100644
index 0000000..86c195d
--- /dev/null
+++ b/System/ItemTip/ItemBoxTipWin.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: d97efcb187bdd574aa63b84722590fd2
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/ItemTip/ItemTipUtility.cs b/System/ItemTip/ItemTipUtility.cs
index ce1f39e..a19f42a 100644
--- a/System/ItemTip/ItemTipUtility.cs
+++ b/System/ItemTip/ItemTipUtility.cs
@@ -24,17 +24,8 @@
             SpiritWeapon,
             PeerlessChest,
             TreasureShow, //鍏朵粬娉曞疂tip
-            //鍚庣画IL寮�鍙戞坊鍔犻璁�
-            default1,
-            default2,
-            default3,
-            default4,
-            default5,
-            default6,
-            default7,
-            default8,
-            default9,
-            default10,
+            BoxItem,    //瀹濈鐗╁搧
+            TreasurePavilion, //鍙ゅ疂鐗╁搧锛堢鐗囷級
         }
 
         public class TipData
@@ -338,7 +329,15 @@
                     {
                         effectModel.SetTreasureID(config.EffectValueA1, 0);
                     }
-                    break;
+                    break;
+                case TipType.BoxItem:
+                    WindowCenter.Instance.Open<ItemBoxTipWin>();
+                    break;
+                case TipType.TreasurePavilion:
+                    TreasurePavilionModel.Instance.selectGubao = config.EffectValueA1;
+                    TreasurePavilionModel.Instance.showTipFromPiece = config.ID;
+                    WindowCenter.Instance.OpenIL<TreasurePavilionTipWin>();
+                    break;
                 default:
                     WindowCenter.Instance.Open<ItemTipWin>();
                     break;
@@ -416,7 +415,15 @@
                     break;
                 case TipType.SpiritWeapon:
                     WindowCenter.Instance.Open<SpiritWeaponTipWin>();
-                    break;
+                    break;
+                case TipType.BoxItem:
+                    WindowCenter.Instance.Open<ItemBoxTipWin>();
+                    break;
+                case TipType.TreasurePavilion:
+                    TreasurePavilionModel.Instance.selectGubao = item.config.EffectValueA1;
+                    TreasurePavilionModel.Instance.showTipFromPiece = item.itemId;
+                    WindowCenter.Instance.OpenIL<TreasurePavilionTipWin>();
+                    break;
                 default:
                     WindowCenter.Instance.Open<ItemTipWin>();
                     break;
@@ -446,22 +453,27 @@
             }
             else
             {
-                switch (itemConfig.Type)
-                {
-                    case 26:
-                    case 41:
-                    case 42:
-                        WindowCenter.Instance.Open<PetMountTipWin>();
-                        break;
-                    case 113:
-                    case 114:
-                    case 116:
-                    case 117:
-                        WindowCenter.Instance.Open<SpiritWeaponTipWin>();
-                        break;
-                    default:
-                        WindowCenter.Instance.Open<ItemTipWin>();
-                        break;
+                var tipType = GetTipType(itemId);
+
+                switch (tipType)
+                {
+                    case TipType.PetMount:
+                        WindowCenter.Instance.Open<PetMountTipWin>();
+                        break;
+                    case TipType.SpiritWeapon:
+                        WindowCenter.Instance.Open<SpiritWeaponTipWin>();
+                        break;
+                    case TipType.BoxItem:
+                        WindowCenter.Instance.Open<ItemBoxTipWin>();
+                        break;
+                    case TipType.TreasurePavilion:
+                        TreasurePavilionModel.Instance.selectGubao = ItemConfig.Get(itemId).EffectValueA1;
+                        TreasurePavilionModel.Instance.showTipFromPiece = itemId;
+                        WindowCenter.Instance.OpenIL<TreasurePavilionTipWin>();
+                        break;
+                    default:
+                        WindowCenter.Instance.Open<ItemTipWin>();
+                        break;
                 }
             }
         }
@@ -1932,13 +1944,17 @@
 
         private static TipType GetTipType(int itemId)
         {
-            var config = ItemConfig.Get(itemId);
-
             if (GeneralDefine.chestDisplayItems.Contains(itemId))
             {
                 return TipType.PeerlessChest;
             }
 
+            if (ChestsAwardConfig.IsBox(itemId))
+            {
+                return TipType.BoxItem;
+            }
+
+            var config = ItemConfig.Get(itemId);
             switch (config.Type)
             {
                 case 101:
@@ -1972,7 +1988,9 @@
                 case 114:
                 case 116:
                 case 117:
-                    return TipType.SpiritWeapon;
+                    return TipType.SpiritWeapon;
+                case 147:
+                    return TipType.TreasurePavilion;
                 default:
                     return TipType.Item;
             }
diff --git a/System/ItemTip/ItemTipWin.cs b/System/ItemTip/ItemTipWin.cs
index 144fc8b..7fd155c 100644
--- a/System/ItemTip/ItemTipWin.cs
+++ b/System/ItemTip/ItemTipWin.cs
@@ -249,7 +249,7 @@
                     if (i < operates.Count)
                     {
                         button.SetActive(true);
-                        button.Bind("ItemTipWin", operates[i], guid);
+                        button.Bind(this.windowInfo.name, operates[i], guid);
                     }
                     else
                     {
diff --git a/System/ItemTip/TipItemDescriptionWidget.cs b/System/ItemTip/TipItemDescriptionWidget.cs
index 0260924..4680c00 100644
--- a/System/ItemTip/TipItemDescriptionWidget.cs
+++ b/System/ItemTip/TipItemDescriptionWidget.cs
@@ -18,7 +18,12 @@
         [SerializeField] Text m_UseState;
 
         ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
-        RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
+        RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
+
+        GatheringSoulModel gatheringSoulModel
+        {
+            get { return ModelCenter.Instance.GetModel<GatheringSoulModel>(); }
+        }
 
         public void Display(int itemId)
         {
@@ -66,7 +71,26 @@
                 description = description.Replace("{Rune}", sb.ToString());
             }
 
-            m_Description.text = description;
+            if (config.Type == 30)
+            {
+                m_Description.text = StringUtility.Contact(runeModel.GetRunePropertyDescription(itemId, 1), "</r>", description);
+            }
+            else if (config.Type == 148)
+            {
+                int soulID = GatherTheSoulConfig.GetSoulIDByItemID(itemId);
+                var soulConfig = GatherTheSoulLVConfig.GetSoulLVConfig(soulID, 1);
+                string desc = string.Empty;
+                for (int i = 0; i < soulConfig.LVAttrType.Length; i++)
+                {
+                    desc += PlayerPropertyConfig.GetFullDescription(soulConfig.LVAttrType[i], soulConfig.LVAttrValue[i]) + "</r>";
+                }
+
+                m_Description.text = StringUtility.Contact(desc, SkillConfig.Get(GatherTheSoulConfig.Get(soulID).SoulSkillTypeID).Description, "</r></r>", description);
+            }
+            else
+            { 
+                m_Description.text = description;
+            }
         }
 
         public void DisplayUseState(int usedCount, int maxCount)
diff --git a/System/KnapSack/Logic/ItemOperateUtility.cs b/System/KnapSack/Logic/ItemOperateUtility.cs
index 565aee4..27c9404 100644
--- a/System/KnapSack/Logic/ItemOperateUtility.cs
+++ b/System/KnapSack/Logic/ItemOperateUtility.cs
@@ -478,7 +478,7 @@
                 return;
             }
 
-            if (ChestsAwardConfig.Has(useItemModel.itemId))
+            if (ChestsAwardConfig.IsBox(useItemModel.itemId))
             { 
                 BoxModel.SetModel(useItemModel.guid, useItemModel.itemId);
                 return;
diff --git a/System/KnapSack/New/ChooseItemsCell.cs b/System/KnapSack/New/ChooseItemsCell.cs
index b187787..ab24497 100644
--- a/System/KnapSack/New/ChooseItemsCell.cs
+++ b/System/KnapSack/New/ChooseItemsCell.cs
@@ -19,6 +19,8 @@
     ChooseItemsModel model { get { return ModelCenter.Instance.GetModel<ChooseItemsModel>(); } }
     BoxGetItemModel boxModel { get { return ModelCenter.Instance.GetModel<BoxGetItemModel>(); } }
     PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
+    RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
+
     public void Display(int itemID)
     {
         this.itemId = itemID;
@@ -159,7 +161,7 @@
                         txtNeed.text = Language.Get("ChooseItems04");
                         imgNeed.SetActive(true);
                     }
-
+                    txtItemName.text = runeModel.GetRunePropertyDescription(itemId, 1);
                     break;
                 default:
                     if (ItemLogicUtility.Instance.IsSatisfyEquipBetterEquip(itemId))
diff --git a/System/WindowBase/Window.cs b/System/WindowBase/Window.cs
index 9a0d7e7..c1a8480 100644
--- a/System/WindowBase/Window.cs
+++ b/System/WindowBase/Window.cs
@@ -351,7 +351,7 @@
                 {
                     if (windowMask != null)
                     {
-                        Debug.Log("windowMask:" + windowMask.transform.GetSiblingIndex() + " rectTransform:" + rectTransform.GetSiblingIndex() + " name:" + this.rectTransform.name);
+                        //Debug.Log("windowMask:" + windowMask.transform.GetSiblingIndex() + " rectTransform:" + rectTransform.GetSiblingIndex() + " name:" + this.rectTransform.name);
                         if (windowMask.transform.GetSiblingIndex() >= rectTransform.GetSiblingIndex())
                         {
                             windowMask.transform.SetSiblingIndex(rectTransform.GetSiblingIndex());
diff --git a/System/ZhanLingH/ZhanLingHActBuyWin.cs b/System/ZhanLingH/ZhanLingHActBuyWin.cs
index e18e239..bcf9b8d 100644
--- a/System/ZhanLingH/ZhanLingHActBuyWin.cs
+++ b/System/ZhanLingH/ZhanLingHActBuyWin.cs
@@ -12,6 +12,8 @@
     [SerializeField] ImageEx imgTitle;
     [SerializeField] TextEx txtPercentage;
     [SerializeField] TextEx txtMoneyCount;
+    [SerializeField] Canvas canvas;
+
     TextEx orgPrice;
 
     VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
@@ -23,6 +25,8 @@
         var obj = btnBuy.FindComponent("Text", "Txt_orgPrice");
         if (obj != null)
             orgPrice = obj as TextEx;
+
+        canvas.sortingLayerName = "UI";
     }
 
     protected override void AddListeners()
diff --git a/System/ZhanLingH/ZhanLingHBuyWin.cs b/System/ZhanLingH/ZhanLingHBuyWin.cs
index 2e31833..be6eff5 100644
--- a/System/ZhanLingH/ZhanLingHBuyWin.cs
+++ b/System/ZhanLingH/ZhanLingHBuyWin.cs
@@ -10,6 +10,8 @@
     [SerializeField] TextEx txtTitle;
     [SerializeField] ImageEx imgBK;
     [SerializeField] TextEx txtPercentage;
+    [SerializeField] Canvas canvas;
+
     TextEx orgPrice;
 
     VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
@@ -21,6 +23,7 @@
         var obj = btnBuy.FindComponent("Text", "Txt_orgPrice");
         if (obj != null)
             orgPrice = obj as TextEx;
+        canvas.sortingLayerName = "UI";
     }
 
     protected override void AddListeners()
@@ -40,6 +43,7 @@
 
     protected override void OnPreOpen()
     {
+        
         scroller.OnRefreshCell += OnScrollerRefreshCell;
         Display();
     }

--
Gitblit v1.8.0