using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using UnityEngine.EventSystems;
|
|
[ExecuteAlways]
|
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;
|
}
|
|
}
|