using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.EventSystems;
|
|
namespace Snxxz.UI
|
{
|
[ExecuteInEditMode]
|
public class AdaptiveRect : UIBehaviour
|
{
|
[SerializeField] RectTransform m_Target;
|
[SerializeField] Vector2 m_Offset;
|
|
RectTransform m_Rect;
|
RectTransform rectTransform
|
{
|
get
|
{
|
if (m_Rect == null)
|
{
|
m_Rect = GetComponent<RectTransform>();
|
}
|
return m_Rect;
|
}
|
}
|
|
protected override void OnEnable()
|
{
|
UpdateRect();
|
}
|
|
[ExecuteInEditMode]
|
private void LateUpdate()
|
{
|
UpdateRect();
|
}
|
|
void UpdateRect()
|
{
|
if (m_Target == null)
|
{
|
return;
|
}
|
var width = rectTransform.sizeDelta.x;
|
var height = rectTransform.sizeDelta.y;
|
var targetWidth = m_Target.sizeDelta.x + m_Offset.x;
|
var targetHeight = m_Target.sizeDelta.y + m_Offset.y;
|
if (width != targetWidth || height != targetHeight)
|
{
|
rectTransform.sizeDelta = new Vector2(targetWidth, targetHeight);
|
}
|
}
|
}
|
}
|