备份CatanBuilding瘦身独立工程
This commit is contained in:
105
Assets/Scripts/UIExtend/ControlTextSize.cs
Normal file
105
Assets/Scripts/UIExtend/ControlTextSize.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
[RequireComponent(typeof(TMP_Text))]
|
||||
public class ControlTextSize : MonoBehaviour, ILayoutElement
|
||||
{
|
||||
private TMP_Text curTxt;
|
||||
private bool cached = false;
|
||||
|
||||
public float maxPreferredWidth = 0f;
|
||||
public float maxPreferredHeight = 0f;
|
||||
|
||||
public float flexibleHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
cacheReferences();
|
||||
return curTxt.flexibleHeight;
|
||||
}
|
||||
}
|
||||
|
||||
public float flexibleWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
cacheReferences();
|
||||
return curTxt.flexibleWidth;
|
||||
}
|
||||
}
|
||||
|
||||
public int layoutPriority
|
||||
{
|
||||
get { return 1; }
|
||||
}
|
||||
|
||||
public float minHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
cacheReferences();
|
||||
return curTxt.minHeight;
|
||||
}
|
||||
}
|
||||
|
||||
public float minWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
cacheReferences();
|
||||
return curTxt.minWidth;
|
||||
}
|
||||
}
|
||||
|
||||
public float preferredHeight
|
||||
{
|
||||
get
|
||||
{
|
||||
cacheReferences();
|
||||
if (Mathf.Approximately(maxPreferredHeight, 0f))
|
||||
{
|
||||
return curTxt.preferredHeight;
|
||||
}
|
||||
else
|
||||
{
|
||||
return curTxt.preferredHeight > maxPreferredHeight ? maxPreferredHeight : curTxt.preferredHeight;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public float preferredWidth
|
||||
{
|
||||
get
|
||||
{
|
||||
cacheReferences();
|
||||
if (Mathf.Approximately(maxPreferredWidth, 0f))
|
||||
{
|
||||
return curTxt.preferredWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
return curTxt.preferredWidth > maxPreferredWidth ? maxPreferredWidth : curTxt.preferredWidth;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void CalculateLayoutInputHorizontal()
|
||||
{
|
||||
cacheReferences();
|
||||
}
|
||||
|
||||
public void CalculateLayoutInputVertical()
|
||||
{
|
||||
cacheReferences();
|
||||
}
|
||||
|
||||
private void cacheReferences()
|
||||
{
|
||||
if (!cached)
|
||||
{
|
||||
curTxt = gameObject.GetComponent<TMP_Text>();
|
||||
cached = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user