47 lines
682 B
C#
47 lines
682 B
C#
using UnityEngine;
|
|
|
|
namespace SRF.UI
|
|
{
|
|
[RequireComponent(typeof(RectTransform))]
|
|
[ExecuteInEditMode]
|
|
public abstract class ResponsiveBase : SRMonoBehaviour
|
|
{
|
|
private bool _queueRefresh;
|
|
|
|
protected RectTransform RectTransform
|
|
{
|
|
get
|
|
{
|
|
return (RectTransform)base.CachedTransform;
|
|
}
|
|
}
|
|
|
|
protected void OnEnable()
|
|
{
|
|
_queueRefresh = true;
|
|
}
|
|
|
|
protected void OnRectTransformDimensionsChange()
|
|
{
|
|
_queueRefresh = true;
|
|
}
|
|
|
|
protected void Update()
|
|
{
|
|
if (_queueRefresh)
|
|
{
|
|
Refresh();
|
|
_queueRefresh = false;
|
|
}
|
|
}
|
|
|
|
protected abstract void Refresh();
|
|
|
|
[ContextMenu("Refresh")]
|
|
private void DoRefresh()
|
|
{
|
|
Refresh();
|
|
}
|
|
}
|
|
}
|