using System.Collections.Generic; using System.Linq; using UnityEngine; namespace Assets.HeroEditor4D.Common.Scripts.CharacterScripts { /// /// Used to associate SpriteRenderer with SpriteCollection. /// public class SpriteMapping : MonoBehaviour { public string SpriteName; public List SpriteNameFallback; /// /// Find sprite by SpriteName, then by SpriteNameIfNotFound. Return null if nothing found. /// public Sprite FindSprite(List sprites) { if (sprites == null || sprites.Count == 0) return null; return sprites.SingleOrDefault(i => i != null && i.name == SpriteName) ?? sprites.SingleOrDefault(i => i != null && SpriteNameFallback.Contains(i.name)); } } }