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); }
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); } }
public static void ChangeSettings(HierarchyHightlightsSettings specialSettings) { Settings = specialSettings; }
void Save(HierarchyHightlightsSettings tar) { EditorUtility.SetDirty(tar); AssetDatabase.SaveAssets(); EditorApplication.RepaintHierarchyWindow(); }