﻿using System;
using UnityEngine;

namespace JLGames.RocketDriver.Actions.Component
{
    public class SpriteData : MonoBehaviour
    {
        [SerializeField] private Texture2D m_Source;
        [SerializeField] private Sprite[] m_SubSprites;

        public bool HasSprite(string spriteName)
        {
            return null != GetSprite(spriteName);
        }

        public Sprite GetSprite(string spriteName)
        {
            if (null == m_SubSprites || m_SubSprites.Length == 0) return null;
            return Array.Find(m_SubSprites, sprite => null != sprite && sprite.name == spriteName);
        }

        public Sprite[] GetSprites(string[] spriteName)
        {
            if (null == spriteName || spriteName.Length == 0)
            {
                return null;
            }

            var rs = new Sprite[spriteName.Length];
            for (var index = 0; index < spriteName.Length; index++)
            {
                rs[index] = GetSprite(spriteName[index]);
            }

            return rs;
        }
    }
}