| 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<string, List<Sprite>> allFrameDic = new Dictionary<string, List<Sprite>>();  | 
|     //只有聊天表情用到的 根据路径frame来划分  | 
|     private List<string> chatFaces = new List<string>();  | 
|   | 
|     public UIFrameMgr()  | 
|     {  | 
|         Init();  | 
|     }  | 
|   | 
|     public void Init()  | 
|     {  | 
|         allFrameDic.Clear();  | 
|         chatFaces.Clear();  | 
|         var dic = FaceConfig.GetValues();  | 
|         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 = UILoader.LoadSprite(cfg.folder, StringUtility.Contact(cfg.name, "_", i));  | 
|                 if (sprite != null)  | 
|                 {  | 
|                     List<Sprite> list = null;  | 
|                     allFrameDic.TryGetValue(cfg.name, out list);  | 
|                     if (list != null)  | 
|                     {  | 
|                         list.Add(sprite);  | 
|                     }  | 
|                     else  | 
|                     {  | 
|                         list = new List<Sprite>();  | 
|                         list.Add(sprite);  | 
|                         allFrameDic.Add(cfg.name, list);  | 
|                     }  | 
|                 }  | 
|             }  | 
|         }  | 
|     }  | 
|   | 
|     //所有动态帧  | 
|     public Dictionary<string, List<UnityEngine.Sprite>> GetAllFrame()  | 
|     {  | 
|         return allFrameDic;  | 
|     }  | 
|   | 
|     //只有聊天表情  | 
|     public List<string> GetAllFace()  | 
|     {  | 
|         return chatFaces;  | 
|     }  | 
|   | 
|     public List<UnityEngine.Sprite> GetDynamicImage(string key)  | 
|     {  | 
|         List<UnityEngine.Sprite> list = null;  | 
|         allFrameDic.TryGetValue(key, out list);  | 
|         return list;  | 
|     }  | 
|   | 
|     public bool ContainsDynamicImage(string key)  | 
|     {  | 
|         return allFrameDic.ContainsKey(key);  | 
|     }  | 
|   | 
| }  |