using UnityEngine; using System.Collections.Generic; [System.Serializable] public class ColorScheme { public int identifier; // Numer, np. 1, 2, 3 itp. 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("Default Background 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("Clean Separator Settings")] public Color cleanBackgroundColor = new Color(0.2f, 0.2f, 0.2f, 0.5f); // Kolor tła dla separatora Clean [Header("Description Settings")] public Color descriptionTextColor = Color.gray; // Kolor opisu public int descriptionFontSize = 10; // Rozmiar czcionki opisu [Header("Position Settings")] public float mainTextOffset = 0.0f; // Umożliwia dostosowanie przesunięcia głównego tekstu public float descriptionOffset = 100.0f; // Umożliwia dostosowanie przesunięcia opisu [ContextMenu("Update Hierarchy Display")] public void UpdateHierarchyDisplay() { CustomHierarchyDecorator.UpdateSettings(this); Debug.Log("Hierarchy display settings updated."); } }