Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.72 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4.  
  5. public class Sprites : ScriptableObject
  6. {
  7.     public Sprite[] Source;
  8.     [NonSerialized] Dictionary<string, Sprite> spritesByName;
  9.  
  10.     public Sprite GetByName(string name)
  11.     {
  12.         if (spritesByName == null)
  13.             FillSpritesByName();
  14.  
  15.         Sprite foundedSprite;
  16.         if (!spritesByName.TryGetValue(name, out foundedSprite))
  17.             Debug.LogErrorFormat("Can't find sprite '{0}'", name);
  18.         return foundedSprite;
  19.     }
  20.     private void FillSpritesByName()
  21.     {
  22.         spritesByName = new Dictionary<string, Sprite>();
  23.         foreach (var sprite in Source)
  24.             spritesByName[sprite.name] = sprite;
  25.     }
  26. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement