修复Label在初始化时会堆积的问题

This commit is contained in:
monitor1394
2024-07-09 23:16:08 +08:00
parent 94d1398bd3
commit cdac6acd8c
4 changed files with 25 additions and 24 deletions

View File

@@ -56,7 +56,7 @@ namespace XCharts.Runtime
protected override void Awake()
{
raycastTarget = false;
SetActive(true);
SetActive(false, true);
}
public void SetTextPadding(TextPadding padding)
@@ -200,10 +200,13 @@ namespace XCharts.Runtime
return m_Active;
}
public void SetActive(bool flag)
public void SetActive(bool flag, bool force = false)
{
m_Active = flag;
ChartHelper.SetActive(gameObject, flag);
if (m_Active == flag && !force) return;
if (ChartHelper.SetActive(gameObject, flag))
{
m_Active = flag;
}
}
public void SetTextActive(bool flag)
@@ -247,7 +250,7 @@ namespace XCharts.Runtime
AdjustIconPos();
if (m_HideIconIfTextEmpty && isIconActive)
{
ChartHelper.SetActive(m_IconImage.gameObject, !string.IsNullOrEmpty(text));
SetIconActive(!string.IsNullOrEmpty(text));
}
}
return false;

View File

@@ -41,22 +41,22 @@ namespace XCharts.Runtime
return s_Builder.ToString();
}
public static void SetActive(GameObject gameObject, bool active)
public static bool SetActive(GameObject gameObject, bool active)
{
if (gameObject == null) return;
SetActive(gameObject.transform, active);
if (gameObject == null) return false;
return SetActive(gameObject.transform, active);
}
public static void SetActive(Image image, bool active)
public static bool SetActive(Image image, bool active)
{
if (image == null) return;
SetActive(image.gameObject, active);
if (image == null) return false;
return SetActive(image.gameObject, active);
}
public static void SetActive(Text text, bool active)
public static bool SetActive(Text text, bool active)
{
if (text == null) return;
SetActive(text.gameObject, active);
if (text == null) return false;
return SetActive(text.gameObject, active);
}
/// <summary>
@@ -64,12 +64,14 @@ namespace XCharts.Runtime
/// </summary>
/// <param name="transform"></param>
/// <param name="active"></param>
public static void SetActive(Transform transform, bool active)
public static bool SetActive(Transform transform, bool active)
{
if (transform == null) return;
if (transform == null) return false;
if (active) transform.localScale = Vector3.one;
else transform.localScale = Vector3.zero;
return true;
}
public static void HideAllObject(GameObject obj, string match = null)
{
if (obj == null) return;
@@ -460,7 +462,7 @@ namespace XCharts.Runtime
label.color = (!labelStyle.background.autoColor || autoColor == Color.clear) ?
labelStyle.background.color : autoColor;
label.sprite = labelStyle.background.sprite;
if(label.type != labelStyle.background.type)
if (label.type != labelStyle.background.type)
label.type = labelStyle.background.type;
}
else