public static HierarchyCustomStyleData Load() { HierarchyCustomStyleData settings = AssetDatabase.LoadAssetAtPath <HierarchyCustomStyleData>(_settingsPath); if (settings == null) { if (!AssetDatabase.IsValidFolder("Assets/Packages/com.rodrigoueda.unitybasecode")) { if (!AssetDatabase.IsValidFolder("Assets/Packages")) { AssetDatabase.CreateFolder("Assets", "Packages"); } AssetDatabase.CreateFolder("Assets/Packages", "com.rodrigoueda.unitybasecode"); } settings = ScriptableObject.CreateInstance <HierarchyCustomStyleData>(); settings.headerStyle = new HierarchyCustomStyleData.FilterStyleData[1] { new HierarchyCustomStyleData.FilterStyleData() { name = "Default header", filterQuery = "^---(.*)$", replaceQuery = "$1", fontColor = Color.white, backgroundColor = Color.grey, alignment = TextAnchor.MiddleCenter, fontStyle = FontStyle.Bold, upperCase = true, dropShadow = true } }; AssetDatabase.CreateAsset(settings, _settingsPath); AssetDatabase.SaveAssets(); HierarchyCustomStyleData.Refresh(settings); } return(settings); }
public static SettingsProvider CreateSettingsProvider() { return(new SettingsProvider("Project/Hierarchy Header", SettingsScope.Project) { guiHandler = (searchContext) => { HierarchyCustomStyleData settings = Load(); SerializedObject serialized = new SerializedObject(settings); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(serialized.FindProperty("headerStyle"), new GUIContent("Entity")); if (EditorGUI.EndChangeCheck()) { serialized.ApplyModifiedProperties(); HierarchyCustomStyleData.Refresh(settings); } }, keywords = new HashSet <string>(new[] { "Entity log enabled", "Notifications log enabled" }) }); }
public static void Refresh(HierarchyCustomStyleData instance) { HeaderStyle = instance.headerStyle; }