void DrawLayerbasedColoringInspector(HierarchyHightlightsSettings tar)
 {
     EditorGUILayout.Space();
     EditorGUILayout.LabelField("Layer Based Coloring", new GUIStyle()
     {
         fontStyle = FontStyle.Bold
     });
     HandleList(ref tar.layerSettings);
 }
    void DrawComponentBasedColoringInspector(HierarchyHightlightsSettings tar)
    {
        EditorGUILayout.Space();
        EditorGUILayout.LabelField("Component Based Coloring", new GUIStyle()
        {
            fontStyle = FontStyle.Bold
        });

        HandleList(ref tar.componentSetting);
    }
Esempio n. 3
0
 private static void FindSettings()
 {
     string[] assGUIDs = AssetDatabase.FindAssets("HighlightSettings");
     if (assGUIDs != null)
     {
         string path = AssetDatabase.GUIDToAssetPath(assGUIDs[0]);
         Settings = AssetDatabase.LoadAssetAtPath <HierarchyHightlightsSettings>(path);
         if (Settings == null)
         {
             Debug.LogError("Highlighting: failed to load asset");
             return;
         }
     }
     else
     {
         Debug.LogError("Highlighting: No asset of name found");
         return;
     }
 }
    public void ShowEditorGUI()
    {
        change = false;

        HierarchyHightlightsSettings tar = (HierarchyHightlightsSettings)target;
        var oldMode = tar.Mode;

        tar.Mode = (HierarchyHightlightsSettings.ColoringMode)EditorGUILayout.EnumPopup("HighlightMode", tar.Mode);

        if (oldMode != tar.Mode)
        {
            change = true;
        }

        switch (tar.Mode)
        {
        case HierarchyHightlightsSettings.ColoringMode.Component:
            DrawComponentBasedColoringInspector(tar);
            break;

        case HierarchyHightlightsSettings.ColoringMode.Layer:
            DrawLayerbasedColoringInspector(tar);
            break;

        case HierarchyHightlightsSettings.ColoringMode.Tag:
            DrawTagBasedColoringInspector(tar);
            break;

        default:
            break;
        }

        if (GUILayout.Button("Save") || change)
        {
            Save(tar);
        }
    }
Esempio n. 5
0
 public static void ChangeSettings(HierarchyHightlightsSettings specialSettings)
 {
     Settings = specialSettings;
 }
 void Save(HierarchyHightlightsSettings tar)
 {
     EditorUtility.SetDirty(tar);
     AssetDatabase.SaveAssets();
     EditorApplication.RepaintHierarchyWindow();
 }