mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-20 15:30:09 +00:00
优化Legend初始化,防止出现预设下删除异常的问题
This commit is contained in:
@@ -46,8 +46,7 @@ namespace XCharts
|
||||
var objAnchorMin = legend.location.runtimeAnchorMin;
|
||||
var objAnchorMax = legend.location.runtimeAnchorMax;
|
||||
var objPivot = legend.location.runtimePivot;
|
||||
|
||||
var btnObj = ChartHelper.AddObject(objName, parent, objAnchorMin, objAnchorMax, objPivot, sizeDelta);
|
||||
var btnObj = ChartHelper.AddObject(objName, parent, objAnchorMin, objAnchorMax, objPivot, sizeDelta, i);
|
||||
var iconObj = ChartHelper.AddObject("icon", btnObj.transform, anchorMin, anchorMax, pivot, iconSizeDelta);
|
||||
var contentObj = ChartHelper.AddObject("content", btnObj.transform, anchorMin, anchorMax, pivot, sizeDelta);
|
||||
var img = ChartHelper.GetOrAddComponent<Image>(btnObj);
|
||||
|
||||
@@ -291,7 +291,7 @@ namespace XCharts
|
||||
totalLegend++;
|
||||
}
|
||||
m_Legend.RemoveButton();
|
||||
ChartHelper.DestroyAllChildren(legendObject.transform);
|
||||
ChartHelper.HideAllObject(legendObject);
|
||||
if (!m_Legend.show) return;
|
||||
for (int i = 0; i < datas.Count; i++)
|
||||
{
|
||||
|
||||
@@ -108,7 +108,6 @@ namespace XCharts
|
||||
if (go != null)
|
||||
{
|
||||
GameObject.DestroyImmediate(go.gameObject);
|
||||
//GameObject.Destroy(go.gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -140,7 +139,7 @@ namespace XCharts
|
||||
}
|
||||
|
||||
public static GameObject AddObject(string name, Transform parent, Vector2 anchorMin,
|
||||
Vector2 anchorMax, Vector2 pivot, Vector2 sizeDelta)
|
||||
Vector2 anchorMax, Vector2 pivot, Vector2 sizeDelta, int replaceIndex = -1)
|
||||
{
|
||||
GameObject obj;
|
||||
if (parent.Find(name))
|
||||
@@ -150,6 +149,12 @@ namespace XCharts
|
||||
obj.transform.localPosition = Vector3.zero;
|
||||
obj.transform.localScale = Vector3.one;
|
||||
}
|
||||
else if (replaceIndex >= 0 && replaceIndex < parent.childCount)
|
||||
{
|
||||
obj = parent.GetChild(replaceIndex).gameObject;
|
||||
if (!obj.name.Equals(name)) obj.name = name;
|
||||
SetActive(obj, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj = new GameObject();
|
||||
|
||||
@@ -108,7 +108,7 @@ namespace XChartsDemo
|
||||
var btnPanel = transform.Find("chart_list");
|
||||
m_BtnClone = transform.Find("btn_clone").gameObject;
|
||||
m_BtnClone.SetActive(false);
|
||||
ChartHelper.DestroyAllChildren(btnPanel);
|
||||
ChartHelper.HideAllObject(btnPanel);
|
||||
foreach (var module in m_ChartModule)
|
||||
{
|
||||
var btnName = "btn_" + module.name;
|
||||
@@ -116,7 +116,8 @@ namespace XChartsDemo
|
||||
if (btnPanel.Find(btnName))
|
||||
{
|
||||
btn = btnPanel.Find(btnName).gameObject;
|
||||
btn.SetActive(true);
|
||||
btn.name = btnName;
|
||||
ChartHelper.SetActive(btn, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user