using UnityEngine; using System.Collections.Generic; [System.Serializable] public class ColorScheme { public int identifier; public Color activeBackgroundColor = new Color(0.1f, 0.1f, 0.1f, 0.5f); public Color inactiveBackgroundColor = new Color(0f, 0f, 0f, 0.3f); public Color activeTextColor = Color.white; public Color inactiveTextColor = Color.gray; } [CreateAssetMenu(fileName = "HierarchyDecoratorSettings", menuName = "Settings/HierarchyDecoratorSettings")] public class HierarchyDecoratorSettings : ScriptableObject { [Header("Global Settings")] public bool showTreeLines = true; // Czy pokazywać linie drzewa public Color treeLineColor = new Color(0.5f, 0.5f, 0.5f, 0.2f); [Header("Default Header Settings")] public Color defaultBackgroundColor = new Color(0.1f, 0.1f, 0.1f, 0.5f); public Color defaultInactiveBackgroundColor = new Color(0f, 0f, 0f, 0.3f); public Color defaultTextColor = Color.green; public Color defaultInactiveTextColor = Color.gray; [Header("Custom Color Schemes")] public List colorSchemes = new List(); [Header("Separator Styles")] public Color cleanBackgroundColor = new Color(0.2f, 0.2f, 0.2f, 0.5f); // = Clean [Header("Section Header Settings (# Name)")] public Color sectionBackgroundColor = new Color(0.15f, 0.15f, 0.15f, 0.8f); // Tło dla # public Color sectionTextColor = new Color(0.7f, 0.7f, 0.7f, 0.6f); // Subtelny tekst public int sectionFontSize = 11; public bool sectionUpperCase = true; // Czy zamieniać na wielkie litery [Header("Description Settings")] public Color descriptionTextColor = Color.gray; public int descriptionFontSize = 10; public float mainTextOffset = 0.0f; public float descriptionOffset = 100.0f; [ContextMenu("Update Hierarchy Display")] public void UpdateHierarchyDisplay() { CustomHierarchyDecorator.UpdateSettings(this); } }