using System;
using UnityEngine;

namespace DayNightCycle
{
    /// <summary>
    /// A ScriptableObject that stores the gradients for ambient light, directional light, and fog colors for day-night cycles.
    /// </summary>
    [Serializable]
    [CreateAssetMenu(fileName = "Lighting Preset", menuName = "FaelanGames/LightingPreset")]
    public class LightingPreset : ScriptableObject
    {
        /// <summary>
        /// The color of the ambient light for the scene.
        /// </summary>
        [SerializeField] private Gradient ambientColor;
        public Gradient AmbientColor { get => ambientColor; private set => ambientColor = value; }

        /// <summary>
        /// The color of the directional light for the scene.
        /// </summary>
        [SerializeField] private Gradient directionalColor;
        public Gradient DirectionalColor { get => directionalColor; private set => directionalColor = value; }

        /// <summary>
        /// The color of the fog for the scene.
        /// </summary>
        [SerializeField] private Gradient fogColor;
        public Gradient FogColor { get => fogColor; private set => fogColor = value; }

        public LightingPreset()
        {
            AmbientColor = new Gradient();
            DirectionalColor = new Gradient();
            FogColor = new Gradient();
        }
    }
}
