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);
|
}
|
|
}
|