Esempio n. 1
0
        public static void LoadMetaOfResource(string path, Action cb = null)
        {
            //meta现已全部拷到sd卡
            //if (!File.Exists(Path.Combine(SystemConfig.ResourceFolder, path)))
            //{
            //    Driver.Instance.StartCoroutine(Driver.Instance.LoadWWWText(Utils.GetStreamPath(path),
            //        (xmlText) =>
            //        {
            //            var xml = XMLParser.LoadXML(xmlText);
            //            if (xml == null)
            //            {
            //                if (cb != null)
            //                {
            //                    cb();
            //                }
            //                return;
            //            }
            //            foreach (SecurityElement item in xml.Children)
            //            {
            //                var meta = new ResourceMetaData();
            //                meta.RelativePath = item.Attribute("path");
            //                meta.MD5 = item.Attribute("md5");

            //                var dependencies = item.Children;
            //                if (dependencies != null && dependencies.Count > 0)
            //                {
            //                    meta.Dependencies = new List<string>();

            //                    foreach (SecurityElement dependency in dependencies)
            //                    {
            //                        meta.Dependencies.Add(dependency.Attribute("path"));
            //                    }
            //                }
            //                metaOfResource[meta.RelativePath] = meta;
            //            }
            //            if (cb != null)
            //            {
            //                cb();
            //            }
            //        }));
            //}
            //else
            //{
            var xml = XMLParser.LoadXML(FileAccessManager.LoadText(path));

            if (xml == null)
            {
                if (cb != null)
                {
                    cb();
                }
                return;
            }
            for (int i = 0; i < xml.Children.Count; i++)
            {
                SecurityElement item = xml.Children[i] as SecurityElement;
                var             meta = new ResourceMetaData();
                meta.RelativePath = item.Attribute("path");
                meta.MD5          = item.Attribute("md5");

                var dependencies = item.Children;
                if (dependencies != null && dependencies.Count > 0)
                {
                    meta.Dependencies = new List <string>();

                    foreach (SecurityElement dependency in dependencies)
                    {
                        meta.Dependencies.Add(dependency.Attribute("path"));
                    }
                }
                metaOfResource[meta.RelativePath] = meta;
            }
            if (cb != null)
            {
                cb();
            }
            //}
        }
Esempio n. 2
0
        public static void LoadMetaOfResource(string path, Action cb = null)
        {
            //meta现已全部拷到sd卡
            //if (!File.Exists(Path.Combine(SystemConfig.ResourceFolder, path)))
            //{
            //    Driver.Instance.StartCoroutine(Driver.Instance.LoadWWWText(Utils.GetStreamPath(path),
            //        (xmlText) =>
            //        {
            //            var xml = XMLParser.LoadXML(xmlText);
            //            if (xml == null)
            //            {
            //                if (cb != null)
            //                {
            //                    cb();
            //                }
            //                return;
            //            }
            //            foreach (SecurityElement item in xml.Children)
            //            {
            //                var meta = new ResourceMetaData();
            //                meta.RelativePath = item.Attribute("path");
            //                meta.MD5 = item.Attribute("md5");

            //                var dependencies = item.Children;
            //                if (dependencies != null && dependencies.Count > 0)
            //                {
            //                    meta.Dependencies = new List<string>();

            //                    foreach (SecurityElement dependency in dependencies)
            //                    {
            //                        meta.Dependencies.Add(dependency.Attribute("path"));
            //                    }
            //                }
            //                metaOfResource[meta.RelativePath] = meta;
            //            }
            //            if (cb != null)
            //            {
            //                cb();
            //            }
            //        }));
            //}
            //else
            //{
            var xml = XMLParser.LoadXML(FileAccessManager.LoadText(path));
            if (xml == null)
            {
                if (cb != null)
                {
                    cb();
                }
                return;
            }
            for (int i = 0; i < xml.Children.Count; i++)
            {
                SecurityElement item = xml.Children[i] as SecurityElement;
                var meta = new ResourceMetaData();
                meta.RelativePath = item.Attribute("path");
                meta.MD5 = item.Attribute("md5");

                var dependencies = item.Children;
                if (dependencies != null && dependencies.Count > 0)
                {
                    meta.Dependencies = new List<string>();

                    foreach (SecurityElement dependency in dependencies)
                    {
                        meta.Dependencies.Add(dependency.Attribute("path"));
                    }
                }
                metaOfResource[meta.RelativePath] = meta;
            }
            if (cb != null)
            {
                cb();
            }
            //}
        }