少年修仙传客户端代码仓库
client_Wu Xijin
2019-04-19 e546f6e19922d44c5b00265c292e215e6ae8257f
6556 【2.0】【前端】装备TIPS长度要自适应
1个文件已修改
2个文件已添加
70 ■■■■■ 已修改文件
System/ItemTip/EquipTipWin.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/LayoutElementSizeClamp.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/LayoutElementSizeClamp.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/EquipTipWin.cs
@@ -57,18 +57,23 @@
        {
            if (EquipTipUtility.secondaryData != null)
            {
                m_MainWidgetGroup.SetActive(true);
                m_MainWidgetGroup.SetPosition(m_RightPoint.position);
                m_MainWidgetGroup.SetDynamicHeightActive(false);
                m_MainWidgetGroup.Display(EquipTipUtility.mainTipData);
                m_SecondaryWidgetGroup.SetActive(true);
                m_SecondaryWidgetGroup.SetPosition(m_LeftPoint.position);
                m_SecondaryWidgetGroup.SetDynamicHeightActive(false);
                m_SecondaryWidgetGroup.Display(EquipTipUtility.secondaryData);
            }
            else
            {
                m_MainWidgetGroup.SetActive(true);
                m_MainWidgetGroup.SetPosition(m_MiddlePoint.position);
                m_MainWidgetGroup.SetDynamicHeightActive(true);
                m_MainWidgetGroup.Display(EquipTipUtility.mainTipData);
                m_SecondaryWidgetGroup.SetActive(false);
@@ -114,6 +119,7 @@
        {
            public RectTransform container;
            public ScrollRect scrollRect;
            public LayoutElementSizeClamp sizeClamp;
            public TipEquipBaseInfoWidget baseInfoWidget;
            public TipBasePropertyWidget basePropertyWidget;
            public TipLegendPropertyWidget legendPropertyWidget;
@@ -138,6 +144,16 @@
                this.container.position = position;
            }
            public void SetDynamicHeightActive(bool active)
            {
                sizeClamp.clampEnable = active;
                if (!active)
                {
                    var preferHeight = sizeClamp.clamp.maxY;
                    sizeClamp.preferredHeight = preferHeight;
                }
            }
            public void Display(EquipTipUtility.TipData data)
            {
                scrollRect.verticalNormalizedPosition = 1f;
UI/Common/LayoutElementSizeClamp.cs
New file
@@ -0,0 +1,42 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;
[ExecuteInEditMode]
public class LayoutElementSizeClamp : LayoutElement
{
    [SerializeField] bool m_ClampEnable;
    public bool clampEnable { get { return m_ClampEnable; } set { m_ClampEnable = value; } }
    [SerializeField] Clamp m_Clamp;
    public Clamp clamp { get { return m_Clamp; } }
    [SerializeField] RectTransform m_Target;
    Vector2 targetSizeRef = Vector2.zero;
    private void LateUpdate()
    {
        if (clampEnable && m_Target != null)
        {
            if (targetSizeRef != m_Target.sizeDelta)
            {
                preferredHeight = Mathf.Clamp(m_Target.rect.height, m_Clamp.minY, m_Clamp.maxY);
                preferredWidth = Mathf.Clamp(m_Target.rect.width, m_Clamp.minX, m_Clamp.maxX);
                targetSizeRef = new Vector2(preferredWidth, preferredHeight);
            }
        }
    }
    [System.Serializable]
    public struct Clamp
    {
        public float minX;
        public float maxX;
        public float minY;
        public float maxY;
    }
}
UI/Common/LayoutElementSizeClamp.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 2d8fad63d37034e4aad43225bd89f61c
timeCreated: 1555667898
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: