Beispiel #1
0
    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;
    }
Beispiel #2
0
    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);
        }
    }