示例#1
0
    void PrintCompos()
    {
        toDebug.Sort(CompareComponentByTypeThenGameObject);
        System.Type t = null;

        foreach (var c in toDebug)
        {
            if (t != c.GetType())
            {
                t = c.GetType();
                if (!registeredTypes.ContainsKey(t))
                {
                    registeredTypes.Add(t, T_INIT_OPEN);
                }
                registeredTypes[t] = EditorGUILayout.Foldout(registeredTypes[t], t.Name);
            }

            if (registeredTypes[t])
            {
                Debugable d = c as Debugable;

                EditorGUI.indentLevel++;

                if (!registeredD.ContainsKey(d))
                {
                    registeredD.Add(d, D_INIT_OPEN);
                }

                registeredD[d] = EditorGUILayout.Foldout(registeredD[d], c.gameObject.name);
                if (registeredD[d])
                {
                    EditorGUI.indentLevel++;
                    d.ForDebugWindow();
                    EditorGUI.indentLevel--;
                }
                EditorGUI.indentLevel--;
            }
        }
    }
示例#2
0
    void PrintGO()
    {
        toDebug.Sort(CompareComponentByGameObjectThenType);
        GameObject go = null;

        foreach (var c in toDebug)
        {
            if (go != c.gameObject)
            {
                go = c.gameObject;
                if (!registeredGO.ContainsKey(go))
                {
                    registeredGO.Add(go, GO_INIT_OPEN);
                }
                registeredGO[go] = EditorGUILayout.Foldout(registeredGO[go], go.name);
            }

            if (registeredGO[go])
            {
                Debugable d = c as Debugable;

                EditorGUI.indentLevel++;
                if (!registeredD.ContainsKey(d))
                {
                    registeredD.Add(d, D_INIT_OPEN);
                }

                registeredD[d] = EditorGUILayout.Foldout(registeredD[d], c.GetType().Name);
                if (registeredD[d])
                {
                    EditorGUI.indentLevel++;
                    d.ForDebugWindow();
                    EditorGUI.indentLevel--;
                }
                EditorGUI.indentLevel--;
            }
        }
    }