Esempio n. 1
0
    private static Dictionary <string, Bundle2Check> ReadLocalXML()
    {
        Dictionary <string, Bundle2Check> dictionary = new Dictionary <string, Bundle2Check>();

        if (!File.Exists(AssetBundleChecker.BUNDLE_INFO_XML_PERSIST_PATH))
        {
            XmlDocument xmlDocument = new XmlDocument();
            XmlElement  newChild    = xmlDocument.CreateElement("BundleInfoes");
            xmlDocument.AppendChild(newChild);
            xmlDocument.Save(AssetBundleChecker.BUNDLE_INFO_XML_PERSIST_PATH);
        }
        XmlDocument xmlDocument2 = new XmlDocument();

        xmlDocument2.Load(AssetBundleChecker.BUNDLE_INFO_XML_PERSIST_PATH);
        XmlElement documentElement = xmlDocument2.DocumentElement;

        foreach (XmlNode xmlNode in documentElement.ChildNodes)
        {
            if (xmlNode is XmlElement)
            {
                Bundle2Check info = AssetBundleChecker.GetInfo(xmlNode);
                if (!dictionary.ContainsKey(info.bundleName))
                {
                    dictionary.Add(info.bundleName, info);
                }
            }
        }
        return(dictionary);
    }
Esempio n. 2
0
    private static Bundle2Check GetInfo(XmlNode node)
    {
        Bundle2Check bundle2Check = new Bundle2Check();
        string       attribute    = (node as XmlElement).GetAttribute("bundleName");

        bundle2Check.bundleName    = attribute;
        bundle2Check.assetType     = int.Parse((node as XmlElement).GetAttribute("assetType"));
        bundle2Check.bundleVersion = int.Parse((node as XmlElement).GetAttribute("bundleVersion"));
        bundle2Check.bundleMD5     = (node as XmlElement).GetAttribute("bundleMD5");
        bundle2Check.bundleSize    = long.Parse((node as XmlElement).GetAttribute("bundleSize"));
        return(bundle2Check);
    }
Esempio n. 3
0
    public static List <Bundle2Check> compareBundleInfoes(string text, string localPath)
    {
        List <Bundle2Check> list = new List <Bundle2Check>();
        Dictionary <string, Bundle2Check> dictionary = AssetBundleChecker.ReadLocalXML();
        XmlDocument xmlDocument = new XmlDocument();

        xmlDocument.LoadXml(text);
        XmlElement documentElement = xmlDocument.DocumentElement;
        string     empty           = string.Empty;

        foreach (XmlNode xmlNode in documentElement.ChildNodes)
        {
            if (xmlNode is XmlElement)
            {
                Bundle2Check info = AssetBundleChecker.GetInfo(xmlNode);
                if (dictionary.ContainsKey(info.bundleName))
                {
                    string path = Application.persistentDataPath + "/" + info.bundleName + ".unity3d";
                    if (!File.Exists(path) || !info.bundleMD5.Equals(dictionary[info.bundleName].bundleMD5))
                    {
                        Bundle2Check item = new Bundle2Check
                        {
                            assetType     = info.assetType,
                            bundleMD5     = info.bundleMD5,
                            bundleVersion = info.bundleVersion,
                            bundleName    = info.bundleName,
                            bundleSize    = info.bundleSize
                        };
                        list.Add(item);
                    }
                }
                else
                {
                    Bundle2Check item2 = new Bundle2Check
                    {
                        assetType     = info.assetType,
                        bundleMD5     = info.bundleMD5,
                        bundleVersion = info.bundleVersion,
                        bundleName    = info.bundleName,
                        bundleSize    = info.bundleSize
                    };
                    list.Add(item2);
                }
                AssetBundleInfo.Init(info.bundleName, info.assetType);
                AssetCache.Init(info.bundleName);
            }
        }
        return(list);
    }