using UnityEngine;

namespace FlappyBird.Pipes
{
    [CreateAssetMenu(fileName = "PipeSettings", menuName = "FlappyBird/Pipe Settings")]
    public class PipeSettings : ScriptableObject
    {
        [Header("Spawn")]
        [Tooltip("Seconds between pipe spawns.")]
        public float spawnInterval = 1.5f;

        [Tooltip("World X position where new pipe pairs appear.")]
        public float spawnX = 10f;

        [Tooltip("World X position where pipe pairs are returned to the pool.")]
        public float despawnX = -10f;

        [Tooltip("Number of pipe pairs to create up front.")]
        public int initialPoolSize = 4;

        [Tooltip("Spawn the first pipe immediately when gameplay starts.")]
        public bool spawnImmediately = false;

        [Header("Movement")]
        [Tooltip("Horizontal speed for active pipe pairs.")]
        public float moveSpeed = 2.5f;

        [Header("Gap")]
        [Tooltip("Distance between the top and bottom pipes.")]
        public float gapSize = 4f;

        [Tooltip("Minimum vertical center position for the pipe gap.")]
        public float minGapCenterY = -1.5f;

        [Tooltip("Maximum vertical center position for the pipe gap.")]
        public float maxGapCenterY = 2.5f;

        [Tooltip("Width of the scoring trigger collider.")]
        public float scoreTriggerWidth = 1f;
    }
}
