using System.Collections; using System.Collections.Generic; using UnityEngine; public class UIFrameMgr { private static UIFrameMgr _inst = null; public static UIFrameMgr Inst { get { if (_inst == null) { _inst = new UIFrameMgr(); } return _inst; } } // 表中的所有记录 private Dictionary> allFrameDic = new Dictionary>(); //只有聊天表情用到的 根据路径frame来划分 private List chatFaces = new List(); public UIFrameMgr() { Init(); } public void Init() { allFrameDic.Clear(); chatFaces.Clear(); var dic = FaceConfig.dic.Values; foreach (var cfg in dic) { if (cfg.frameType == 1 && !chatFaces.Contains(cfg.name)) { chatFaces.Add(cfg.name); } for (int i = 1; i <= cfg.frameCnt; i++) { Sprite sprite = ResManager.Instance.LoadAsset("Sprite/" + cfg.folder, StringUtility.Contact(cfg.name, "_", i)); if (sprite != null) { List list = null; allFrameDic.TryGetValue(cfg.name, out list); if (list != null) { list.Add(sprite); } else { list = new List(); list.Add(sprite); allFrameDic.Add(cfg.name, list); } } } } } //所有动态帧 public Dictionary> GetAllFrame() { return allFrameDic; } //只有聊天表情 public List GetAllFace() { return chatFaces; } public List GetDynamicImage(string key) { List list = null; allFrameDic.TryGetValue(key, out list); return list; } public bool ContainsDynamicImage(string key) { return allFrameDic.ContainsKey(key); } }