Пример #1
0
    private GameObject CreateNewButton(TreeNode <E> node)
    {
        GameObject button = GetChildButtonFromPool();

        NodeToButton.Add(node, button);

        RectTransform childRectTransf = button.GetOrAddComponent <RectTransform>();

        childRectTransf.anchoredPosition = Vector2.zero;
        Button centerButton = button.GetComponent <Button>();

        centerButton.GetComponentInChildren <Text>().text = GetDisplayName(node);
        centerButton.onClick.RemoveAllListeners();

        return(button);
    }
Пример #2
0
    private GameObject CreateRootButton(TreeNode <E> node)
    {
        GameObject button = GetRootButton();

        NodeToButton.Add(node, button);

        RectTransform rootRectTransf = button.GetOrAddComponent <RectTransform>();

        rootRectTransf.anchoredPosition = Vector2.zero;

        rootRectTransf.localScale = Vector3.one;

        Button rootButton = button.GetComponent <Button>();

        rootButton.GetComponentInChildren <Text>().text = GetDisplayName(node);
        rootButton.onClick.RemoveAllListeners();

        return(button);
    }
Пример #3
0
    private GameObject CreateParentButton(TreeNode <E> node)
    {
        GameObject button = GetParentButton();

        NodeToButton.Add(node, button);

        RectTransform rootRectTransf = button.GetOrAddComponent <RectTransform>();

        rootRectTransf.anchoredPosition = Vector2.zero;

        //Rescaling Parent Button to size of Child Button
        float   scaleFactor = ChildButtons[0].GetComponent <RectTransform>().sizeDelta.x / rootRectTransf.sizeDelta.x;
        Vector3 newScale    = ChildButtons[0].transform.localScale * scaleFactor;

        ParentButton.transform.localScale = newScale;

        Button rootButton = button.GetComponent <Button>();

        rootButton.GetComponentInChildren <Text>().text = GetDisplayName(node);
        rootButton.onClick.RemoveAllListeners();

        return(button);
    }