namespace textUtility { using System; using UnityEngine.Events; using System.Collections; using System.Collections.Generic; using textUtility; using UnityEngine; public class SpriteInfoManager : MonoBehaviour { #region Config public UnityEvent BuildTestEnviroment; public static Dictionary SpriteInfoDictionaryForEditor { get { if (spriteInfoDictionaryForEditor.Count == 0) { //Instance.BuildTestEnviroment.Invoke(); if (spriteInfoDictionaryForEditor.Count == 0) { throw new Exception("没有搭建起测试环境"); } } return spriteInfoDictionaryForEditor; } set { spriteInfoDictionaryForEditor = value; } } public static Dictionary spriteInfoDictionaryForEditor = new Dictionary(); // private static SpriteInfoManager Instance // { // get // { // if (instance == null) // { //#if UNITY_EDITOR // instance = InstanceManager.SearchInstance(); //#endif // } // return instance; // } // } //private static SpriteInfoManager instance; public static Dictionary SpriteInfoDictionary = new Dictionary(); #endregion public static void AddSpriteInfo(Sprite sprite, string infoName = null, SpriteSetting spriteSetting = null) { if (infoName == null) { infoName = sprite.name; } if (Application.isPlaying) { SpriteInfoDictionary.Add(infoName, new SpriteInfo(sprite, spriteSetting)); } else { spriteInfoDictionaryForEditor.Add(infoName, new SpriteInfo(sprite, spriteSetting)); } } public static void Clear() { SpriteInfoDictionary = new Dictionary(); spriteInfoDictionaryForEditor = new Dictionary(); } public static SpriteInfo GetSpriteInfo(string infoName) { if (Application.isPlaying) { return SpriteInfoDictionary[infoName]; } else { return SpriteInfoDictionaryForEditor[infoName]; } } } }