using System;
using System.Collections.Generic;
using Intrepid.Sprites;
using UnityEngine;

namespace Intrepid.Utilities.Sprite
{
    [Serializable]
    [CreateAssetMenu(fileName = "Sprite Animation Service", menuName = "GON/Animation/Sprite Animation Service")]
    public class SpriteAnimationService : AbstractSpriteStateAnimationService<string>
    {
        [GroupConfigurations, SerializeField] private string prefix;
        [GroupConfigurations, SerializeField] private List<string> states;
        
        protected override string PathPrefix => prefix;
        
        protected override IEnumerable<string> GetAvailableStates()
        {
            return states;
        }
    }
}