Files
2026-06-04 23:22:13 +03:00

37 lines
1.0 KiB
C#

using UnityEngine;
namespace OTGIntegrated.Abilities
{
[CreateAssetMenu(fileName = "AbilityData", menuName = "OTG Integrated/Ability Data")]
public sealed class AbilityData : ScriptableObject
{
public string abilityId;
public string displayName;
[TextArea(2, 5)] public string description;
public float manaCost = 10f;
public float cooldown = 2f;
public float damage = 10f;
public float range = 8f;
public GameObject effectPrefab;
public Sprite icon;
private void OnValidate()
{
if (string.IsNullOrWhiteSpace(abilityId))
{
abilityId = name;
}
if (string.IsNullOrWhiteSpace(displayName))
{
displayName = abilityId;
}
manaCost = Mathf.Max(0f, manaCost);
cooldown = Mathf.Max(0f, cooldown);
damage = Mathf.Max(0f, damage);
range = Mathf.Max(0f, range);
}
}
}