Exemple #1
0
    static void InitToggleTag(string[] strs)
    {
        if (strs == null || strs.Length == 0)
        {
            return;
        }

        int      index = 1;
        FTagNode node  = null;

        for (int i = 0; i < nodeList.Count; i++)
        {
            if (nodeList[i].name.Equals(strs[0]))
            {
                node = nodeList[i];
            }
        }

        while (index < strs.Length && node != null)
        {
            for (int i = 0; i < node.childs.Count; i++)
            {
                if (node.childs[i].name.Equals(strs[index]))
                {
                    node = node.childs[i];
                    break;
                }
            }
            ++index;
        }
        node.OnToggleChanged(true);
    }
Exemple #2
0
    void DrawTag(FTagNode node, int level)
    {
        EditorGUI.indentLevel = level;
        EditorGUILayout.BeginHorizontal();
        node.bOpen = EditorGUILayout.Foldout(node.bOpen, node.name);
        bool preToggle = node.bToggle;

        node.bToggle = EditorGUILayout.ToggleLeft("", node.bToggle);
        if (preToggle != node.bToggle)
        {
            node.OnToggleChanged(node.bToggle);
        }
        EditorGUILayout.EndHorizontal();

        if (node.bOpen)
        {
            for (int i = 0; i < node.childs.Count; i++)
            {
                DrawTag(node.childs[i], level + 1);
            }
        }
    }