From ede92bb7bc68c56abdb04f932e7d2c038a69d372 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 21 十一月 2025 19:29:23 +0800
Subject: [PATCH] 0312 物品框支持装备显示

---
 Main/System/KnapSack/New/CommonItemBaisc.cs |   86 +++++++++++++++++++++++++++++++++++++++---
 1 files changed, 79 insertions(+), 7 deletions(-)

diff --git a/Main/System/KnapSack/New/CommonItemBaisc.cs b/Main/System/KnapSack/New/CommonItemBaisc.cs
index f4022bb..cc6484d 100644
--- a/Main/System/KnapSack/New/CommonItemBaisc.cs
+++ b/Main/System/KnapSack/New/CommonItemBaisc.cs
@@ -188,6 +188,45 @@
     }
 
     /// <summary>
+    /// 璋冩暣鏄剧ず椤哄簭锛岃 itemBaseEffect 鍦� itemIcon 涔嬪墠鏄剧ず
+    /// </summary>
+    private void AdjustDisplayOrder(ItemConfig config)
+    {
+        if (itemBaseEffect != null && itemIcon != null)
+        {
+            // 鑾峰彇鐖剁骇 Transform
+            Transform itemIconParent = itemIcon.transform.parent;
+            Transform effectParent = itemBaseEffect.transform;
+
+            if (itemIconParent != null && effectParent != null)
+            {
+                // 纭繚 UIEffectPlayer 鍦� mask 涔嬪墠鏄剧ず
+                // mask 鐨� sibling index 搴旇姣� UIEffectPlayer 澶�
+                int maskSiblingIndex = itemIconParent.GetSiblingIndex();
+                int effectSiblingIndex = effectParent.GetSiblingIndex();
+
+                if (config.EquipPlace == 0)
+                {
+                    //鐗规晥鏄剧ず鍦ㄤ笂闈�
+                    if (maskSiblingIndex > effectSiblingIndex)
+                    {
+                        // 濡傛灉 mask 鍦� UIEffectPlayer 鍓嶉潰锛屽垯浜ゆ崲瀹冧滑鐨勪綅缃�
+                        effectParent.SetSiblingIndex(maskSiblingIndex);
+                    }
+                }
+                else
+                {
+                    //鐗规晥鍦ㄤ笅闈�
+                    if (maskSiblingIndex < effectSiblingIndex)
+                    {
+                        effectParent.SetSiblingIndex(maskSiblingIndex);
+                    }
+                }
+            }
+        }
+    }
+
+    /// <summary>
     /// 鍒濆鍖栨暟鎹� bool鍊肩敤鏉ュ垽鏂槸鍚﹂渶瑕佸睍绀鸿瘎鍒嗛珮浣庢垨鑰呰亴涓氶檺鍒�
     /// </summary>
     /// <param name="model"></param>
@@ -219,8 +258,17 @@
 
         itemIcon.SetOrgSprite(config.IconKey,
             GeneralDefine.itemIconDict.ContainsKey(config.Type) ? GeneralDefine.itemIconDict[config.Type] : "icon");
-            
-        bgIcon.SetItemBackGround(ItemLogicUtility.Instance.GetItemQuality(itemId, useDataDic));
+
+        //瑁呭鐨勫睍绀洪�昏緫涓嶅悓
+        bool isEquip = config.EquipPlace != 0;
+        if (isEquip)
+        {
+            bgIcon.SetSprite("equipQuality" + config.ItemColor);
+        }
+        else
+        {
+            bgIcon.SetItemBackGround(ItemLogicUtility.Instance.GetItemQuality(itemId, useDataDic));
+        }
         if (packModel.gameCashShow.Contains(itemId))
         {
             //浠i噾鍒�
@@ -334,16 +382,40 @@
     {
         if (itemBaseEffect == null)
             return;
-        if (config.BaseEffectID == 0)
+
+        //瑁呭鐨勫睍绀洪�昏緫涓嶅悓
+        bool isEquip = config.EquipPlace != 0;
+        if (isEquip)
         {
-            itemBaseEffect.SetActive(false);
+            if (config.ItemColor >= 7)
+            {
+                itemBaseEffect.effectId = 1026;
+
+                itemBaseEffect.PlayByArrIndex(config.ItemColor - 7, true, true);
+            }
+            else
+            {
+                itemBaseEffect.Stop();
+            }
+            //鐗规晥鍙傝�冨昂瀵�106*150 鍚屾瘮渚嬬缉鏀�
+            var rect = this.transform.GetComponent<RectTransform>();
+            itemBaseEffect.transform.localScale = new Vector3(1, 0.76f, 1);
         }
         else
         {
-            itemBaseEffect.SetActive(true);
-            itemBaseEffect.effectId = config.BaseEffectID;
-            itemBaseEffect.Play();
+            if (config.BaseEffectID == 0)
+            {
+                itemBaseEffect.SetActive(false);
+            }
+            else
+            {
+                itemBaseEffect.SetActive(true);
+                itemBaseEffect.effectId = config.BaseEffectID;
+                itemBaseEffect.Play();
+                itemBaseEffect.transform.localScale = Vector3.one;
+            }
         }
+        AdjustDisplayOrder(config);
     }
     
     float GetScale(ItemCellformat format)

--
Gitblit v1.8.0