hch
6 小时以前 ede92bb7bc68c56abdb04f932e7d2c038a69d372
0312 物品框支持装备显示
1个文件已修改
86 ■■■■■ 已修改文件
Main/System/KnapSack/New/CommonItemBaisc.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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))
        {
            //代金券
@@ -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)