using UnityEngine; namespace SpecialMoveCards { /// /// ScriptableObject defining metadata for a special move card. /// [CreateAssetMenu(menuName = "Special Move Cards/Card Data", fileName = "CardData")] public class CardData : ScriptableObject { [Header("Identity")] public CardType type; [Tooltip("Display name of the special move.")] public string moveName; [Tooltip("Animator state/clip or Trigger name to play on pickup use.")] public string animationTriggerName; [Header("Visuals")] public Color color = Color.white; public Sprite icon; [Tooltip("Optional particle effect to spawn on pickup or use.")] public GameObject particlePrefab; [Header("Tuning")] [Tooltip("Hover amplitude for world pickup (meters). If 0, uses default on CardBehaviour.")] public float hoverAmplitude = 0.25f; [Tooltip("Hover speed for world pickup (Hz). If 0, uses default on CardBehaviour.")] public float hoverSpeed = 1.0f; [Tooltip("Self-rotation speed in degrees per second. If 0, uses default on CardBehaviour.")] public float rotationSpeed = 35f; [Tooltip("Emission intensity for the card material.")] public float emissionIntensity = 2.5f; [Header("Optional Ability Params")] [Tooltip("Optional scalar param that other systems can read.")] public float powerMultiplier = 1f; } }