优化Legend初始化,防止出现预设下删除异常的问题

This commit is contained in:
monitor1394
2020-04-10 07:32:59 +08:00
parent 73e713802c
commit 80a946d0c6
3 changed files with 9 additions and 5 deletions

View File

@@ -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);

View File

@@ -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++)
{

View File

@@ -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();