| | |
| | | }
|
| | |
|
| | | /// <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>
|
| | |
| | |
|
| | | 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))
|
| | | {
|
| | | //代金券
|
| | |
| | | {
|
| | | 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)
|