| System/ItemTip/EquipTipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UI/Common/LayoutElementSizeClamp.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| UI/Common/LayoutElementSizeClamp.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | 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: