コード例 #1
0
    void InitIfNeeded()
    {
        if (!m_Initialized)
        {
            // Check if it already exists (deserialized from window layout file or scriptable object)
            if (m_TreeViewState == null)
            {
                m_TreeViewState = new TreeViewState();
            }

            bool firstInit   = m_MultiColumnHeaderState == null;
            var  headerState = MultiUICreateTreeView.CreateDefaultMultiColumnHeaderState(multiColumnTreeViewRect.width);
            if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState))
            {
                MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState);
            }
            m_MultiColumnHeaderState = headerState;

            var multiColumnHeader = new MultiColumnHeader(headerState);
            if (firstInit)
            {
                multiColumnHeader.ResizeToFit();
            }

            var treeModel = new TreeModel <UICreateElement>(UICreateElement.CreateUITransformTree(m_tra, ref traElementDic));

            m_TreeView = new MultiUICreateTreeView(m_TreeViewState, multiColumnHeader, treeModel);

            m_Initialized = true;
        }
    }
コード例 #2
0
    public static void AddUIChildElement(Transform tra, int depth, List <UICreateElement> treeElements, Dictionary <Transform, UICreateElement> dic)
    {
        var element = new UICreateElement(tra.gameObject.activeInHierarchy, tra.name, depth + 1, ++Index);

        treeElements.Add(element);
        dic.Add(tra, element);

        for (int i = 0; i < tra.childCount; i++)
        {
            AddUIChildElement(tra.GetChild(i), element.depth, treeElements, dic);
        }
    }
コード例 #3
0
    public static List <UICreateElement> CreateUITransformTree(Transform tra, ref Dictionary <Transform, UICreateElement> traElementDic)
    {
        Index = 0;

        var treeElements = new List <UICreateElement>();

        if (traElementDic == null)
        {
            traElementDic = new Dictionary <Transform, UICreateElement>();
        }

        var root = new UICreateElement(tra.gameObject.activeInHierarchy, tra.name, -1, Index);

        treeElements.Add(root);
        traElementDic.Add(tra, root);

        for (int i = 0; i < tra.childCount; i++)
        {
            AddUIChildElement(tra.GetChild(i), root.depth, treeElements, traElementDic);
        }

        return(treeElements);
    }