using UnityEngine; [System.Serializable] public class SkillGroup { [Tooltip("Numeric ID used to reference this skill group (e.g. from equipped slots). Use 0 for 'none'.")] public int skillGroupID = 0; [Tooltip("Optional human-readable name for the group (for designers).")] public string groupName = ""; // Documentation text normalized. public int columnID = 0; // Documentation text normalized. public string columnName = ""; // Variable-length list of SkillDefinitions so one group ID can map to multiple skills public SkillDefinition[] skills = new SkillDefinition[0]; // Single icon representing this skill group (editable in Inspector) [Header("Group Icon")] [Tooltip("Optional single Sprite used as an icon for this skill group.")] public Sprite groupIcon = null; // Single multiline description for the skill group (editable in Inspector) [Header("Group-level designer notes")] [TextArea(3, 10)] [Tooltip("A multiline description for this skill group. Use this to store notes or an overview that can be shown at runtime.")] public string skillDescriptionsText = ""; [Tooltip("This skill group requires the hero to reach at least this level (1-4) to be selectable.")] public int thisSkill_levelLimit = 1; [Tooltip("Marks this skill group as the hero's exclusive special skill.")] public bool isSpecialSkill = false; // Backwards-compatible accessor that previously returned a per-skill description. // Now returns the single group-level text so callers can still obtain a description string. public string GetSkillDescription(int index) { return skillDescriptionsText ?? string.Empty; } // Lookup by SkillDefinition instance; also returns group-level text for compatibility. public string GetSkillDescription(SkillDefinition def) { return skillDescriptionsText ?? string.Empty; } }