void UpdateProcessingGraphIndex() { List <int> SplitIndexList = new List <int>(); float IndexLength = 0; for (int i = 0; i < ProcessGraphIndexCarrier.transform.childCount; i++) { IndexLength += ProcessGraphIndexCarrier.transform.GetChild(i).gameObject.GetComponent <RectTransform>().sizeDelta.x; if (IndexLength > CallPanelController.CurrentUIsize * 11.2f) { SplitIndexList.Add(i); IndexLength = ProcessGraphIndexCarrier.transform.GetChild(i).gameObject.GetComponent <RectTransform>().sizeDelta.x; } } for (int i = 0; i < SplitIndexList.Count; i++) { GameObject newIndexCarrier = GameObject.Instantiate(ProcessGraphIndexCarrier, ProcessGraphIndexPanel.transform); newIndexCarrier.GetComponent <RectTransform>().sizeDelta = new Vector2(0, CallPanelController.CurrentUIsize * 0.5f); newIndexCarrier.GetComponent <RectTransform>().anchoredPosition = new Vector3(0, -CallPanelController.CurrentUIsize * 0.5f * (i + 1), 0); for (int j = newIndexCarrier.transform.childCount - 1; j >= 0; j--) { Destroy(newIndexCarrier.transform.GetChild(j).gameObject); } int NextStartIndex = ProcessGraphIndexCarrier.transform.childCount; if (i + 1 < SplitIndexList.Count) { NextStartIndex = SplitIndexList[i + 1]; } for (int j = SplitIndexList[i]; j < NextStartIndex; j++) { GameObject CopiedIndex = GameObject.Instantiate(ProcessGraphIndexCarrier.transform.GetChild(j).gameObject, newIndexCarrier.transform); CallPanelController.ContentSizeFitterReseter(CopiedIndex); CallPanelController.ContentSizeFitterReseter(CopiedIndex.transform.GetChild(1).gameObject); } ProcessGraphIndexPanel.GetComponent <RectTransform>().sizeDelta += new Vector2(0, CallPanelController.CurrentUIsize * 0.5f); ProcessGraphPanelCarrier.GetComponent <RectTransform>().sizeDelta += new Vector2(0, CallPanelController.CurrentUIsize * 0.5f); } if (SplitIndexList.Count > 0) { for (int i = ProcessGraphIndexCarrier.transform.childCount - 1; i >= SplitIndexList[0]; i--) { Destroy(ProcessGraphIndexCarrier.transform.GetChild(i).gameObject); } } UpdateState.CompleteUpdate = true; }
void ClearProcessGraphIndex() { for (int i = ProcessGraphIndexPanel.transform.childCount - 1; i >= 1; i--) { Destroy(ProcessGraphIndexPanel.transform.GetChild(i).gameObject); ProcessGraphIndexPanel.GetComponent <RectTransform>().sizeDelta -= new Vector2(0, CallPanelController.CurrentUIsize * 0.5f); ProcessGraphPanelCarrier.GetComponent <RectTransform>().sizeDelta -= new Vector2(0, CallPanelController.CurrentUIsize * 0.5f); } for (int i = ProcessGraphIndexCarrier.transform.childCount - 1; i >= 2; i--) { Destroy(ProcessGraphIndexCarrier.transform.GetChild(i).gameObject); } }