/*** * * Title: "SUIFW" UI框架项目 * 主题: 配置管理器 * Description: * 功能: 对于Json(核心数据)配置文件的读取处理。 * Date: 2017 * Version: 0.1版本 * Modify Recoder: * * */ using System; using System.Collections.Generic; using UnityEngine; namespace SUIFW { public class ConfigManagerByJson:IConfigManager { //定义应用设置集合 private static Dictionary _AppSetting; /// /// 属性: 应用设置 /// public Dictionary AppSetting { get { return _AppSetting; } } /// /// 构造函数 /// /// Json文件路径 public ConfigManagerByJson(string JsonPath) { _AppSetting = new Dictionary(); //初始化解析Json数据,到集合中 InitAndAnalysisJson(JsonPath); } /// /// 初始化解析XML数据,到集合中(_AppSetting) /// /// Json的路径 private void InitAndAnalysisJson(string JsonPath) { TextAsset configInfo = null; KeyValuesInfo keyValuesInfoObj = null; //参数检查 if (string.IsNullOrEmpty(JsonPath)) return; try { configInfo = Resources.Load(JsonPath); keyValuesInfoObj = JsonUtility.FromJson(configInfo.text); } catch { throw new JsonAnalysisException(GetType() + "/InitAndAnalysisJson()/Json Analysis Exception! ,please Check Json file Or Json file Path! Parameter JsonPath= " + JsonPath); } foreach (KeyValuesNode node in keyValuesInfoObj.ConfigInfo) { _AppSetting.Add(node.Key,node.Value); } } /// /// 得到AppSetting的最大数量 /// public int GetAppSettingMaxNumber() { if (_AppSetting != null && _AppSetting.Count >= 1) { return _AppSetting.Count; } else { return 0; } } } }