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