using UnityEngine; using UnityEditor; using System.Collections.Generic; namespace BF { public class SimpleAtlas : ScriptableObject { [SerializeField] List spriteList = new List(); public bool AddSprite(Sprite sprite) { if (sprite == null) { return false; } spriteList.Add(sprite); return true; } public void RemoveSprite(Sprite sprite) { if (sprite == null) { return; } spriteList.Remove(sprite); } public void RemoveNullSprite() { EnsureWithoutNull(); } public bool Contains(Sprite sprite) { return spriteList.Contains(sprite); } public void Clear() { spriteList.Clear(); } public int GetCount() { return spriteList.Count; } void EnsureWithoutNull() { int count = spriteList.Count; for (int i = count - 1; i >= 0; i--) { if (spriteList[i] == null) { spriteList.RemoveAt(i); } } } public Sprite GetSprite(int index) { if (index >= 0 && index < spriteList.Count) { return spriteList[index]; } return null; } public List GetSpriteList() { return spriteList; } } }