51 lines
1.9 KiB
C#
51 lines
1.9 KiB
C#
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;
|
|
}
|
|
}
|