using UnityEngine;

namespace IStalk.Data
{
    public enum TrapPlacementType { Floor, Wall, Object }
    public enum TrapTriggerType { ProximityEnter, Interaction, Timed }
    public enum TrapEffectType { Slow, RevealPosition, NoiseEmit, BlockPath }

    [CreateAssetMenu(fileName = "Trap_", menuName = "IStalk/Item Database/Eye Trap")]
    public class TrapData_SO : ScriptableObject
    {
        [Header("Identity")]
        public string trapId;
        public string displayName;
        [TextArea(2, 4)]
        public string description;
        public Sprite eyeHudIcon;

        [Header("Economy")]
        [Range(5, 200)]
        public int dreadCost;

        [Header("Placement")]
        public TrapPlacementType placementType;
        public float placementRadius = 3f;
        public int maxActivePerMatch;
        public GameObject placedPrefab;

        [Header("Trigger")]
        public TrapTriggerType triggerType;
        public float triggerRadius = 2f;
        public float armDelay = 1f;

        [Header("Effect")]
        public TrapEffectType effectType;
        public float effectRadius = 3f;
        public float effectDuration = 4f;
        public float effectIntensity = 0.4f;

        [Header("Feedback")]
        public AudioClip placementSound;
        public AudioClip triggerSound;
        public GameObject triggerVfxPrefab;
        public bool revealsToRunners;
    }
}
