public bool equals(AssetInfoUnit unit) { if (_guid.Equals(unit._guid) && _md5_self.Equals(unit._md5_self) && _md5_meta.Equals(unit._md5_meta) && _serializeFields.Equals(unit._serializeFields)) { return(true); } else { return(false); } }
/// <summary> /// 读取AssetBundleDepInfo.xml文件 /// </summary> /// <param name="filename">文件路径</param> /// <returns>读取成功返回真</returns> public bool read(string filename) { if (File.Exists(filename) == false) { return(false); } _ABDepInfoDic.Clear(); XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(filename); XmlNode rootElement = xmldoc.SelectSingleNode("AssetInfo"); if (rootElement == null) { return(false); } XmlNodeList nodeList = rootElement.ChildNodes; foreach (XmlNode xn in nodeList) { AssetInfoUnit depInfoUnit = new AssetInfoUnit(); foreach (XmlAttribute attr in xn.Attributes) { if (attr.Name.Equals("guid")) { depInfoUnit._guid = attr.Value; } else if (attr.Name.Equals("md5_self")) { depInfoUnit._md5_self = attr.Value; } else if (attr.Name.Equals("md5_meta")) { depInfoUnit._md5_meta = attr.Value; } else if (attr.Name.Equals("serializeFields")) { depInfoUnit._serializeFields = attr.Value; } } _ABDepInfoDic.Add(depInfoUnit._guid, depInfoUnit); } return(true); }
/// <summary> /// 通过文件guid和路径添加文件信息 /// </summary> /// <param name="guid"></param> /// <param name="path"></param> public void add(string guid, string path) { if (_ABDepInfoDic.ContainsKey(guid)) { return; } try { AssetInfoUnit infoUnit = new AssetInfoUnit(); infoUnit._guid = guid; infoUnit._md5_self = RG_Utils.GetMD5HashFromFile(path); infoUnit._md5_meta = RG_Utils.GetMD5HashFromFile(path + ".meta"); infoUnit._serializeFields = getScriptSerializeFields(path); _ABDepInfoDic[guid] = infoUnit; } catch { Debug.LogError("add error"); } }
/// <summary> /// 增加文件信息 /// </summary> /// <param name="guid">guid</param> /// <param name="infoUnit">信息内容</param> public void add(string guid, AssetInfoUnit infoUnit) { _ABDepInfoDic[guid] = infoUnit; }
/// <summary> /// 获取某文件信息 /// </summary> /// <param name="guid">guid</param> /// <param name="infoUnit">信息内容</param> /// <returns>获取成功返回真</returns> public bool tryGetValueByPath(string path, out AssetInfoUnit infoUnit) { string guid = AssetDatabase.AssetPathToGUID(path); return(tryGetValue(guid, out infoUnit)); }
/// <summary> /// 获取某文件信息 /// </summary> /// <param name="guid">guid</param> /// <param name="infoUnit">信息内容</param> /// <returns>获取成功返回真</returns> public bool tryGetValue(string guid, out AssetInfoUnit infoUnit) { return(_ABDepInfoDic.TryGetValue(guid, out infoUnit)); }