Ejemplo n.º 1
0
        public static bool DownloadAll(out Downloader handler)
        {
            var bundles = new List <BundleRef>();

            for (var i = 0; i < serverVersions.bundles.Count; i++)
            {
                var bundle = serverVersions.bundles[i];
                if (IsNew(bundle))
                {
                    bundles.Add(bundle);
                }
            }

            if (bundles.Count > 0)
            {
                var downloader = new Downloader();
                foreach (var item in bundles)
                {
                    downloader.AddDownload(GetDownloadURL(item.name), updatePath + item.name, item.crc, item.len);
                }
                Downloaders.Add(downloader);
                handler = downloader;
                return(true);
            }

            handler = null;
            return(false);
        }
Ejemplo n.º 2
0
        public static bool DownloadAll(string[] patches, out Downloader handler)
        {
            if (updateAll)
            {
                return(DownloadAll(out handler));
            }

            var bundles = new List <BundleRef>();

            foreach (var patch in patches)
            {
                var saved = PlayerPrefs.GetString(patch, string.Empty);
                if (!saved.Equals(currentVersions.ver))
                {
                    var newFiles = GetNewFiles(patch);
                    foreach (var file in newFiles)
                    {
                        if (!bundles.Exists(x => x.name.Equals(file.name)))
                        {
                            bundles.Add(file);
                        }
                    }
                }
            }

            if (bundles.Count > 0)
            {
                var downloader = new Downloader();
                foreach (var item in bundles)
                {
                    downloader.AddDownload(GetDownloadURL(item.name), updatePath + item.name, item.crc, item.len);
                }
                Downloaders.Add(downloader);
                handler             = downloader;
                handler.onFinished += () =>
                {
                    foreach (var item in patches)
                    {
                        PlayerPrefs.SetString(item, currentVersions.ver);
                    }
                };
                return(true);
            }

            handler = null;
            return(false);
        }
Ejemplo n.º 3
0
        public static bool DownloadAll(string[] patches, out Downloader handler)
        {
            if (updateAll)
            {
                return(DownloadAll(out handler));
            }

            var bundles = new List <BundleRef>();

            foreach (var patch in patches)
            {
                var newFiles = GetNewFiles(patch);
                foreach (var file in newFiles)
                {
                    if (!bundles.Exists(x => x.name.Equals(file.name)))
                    {
                        bundles.Add(file);
                    }
                }
            }

            if (bundles.Count > 0)
            {
                var downloader = new Downloader();
                foreach (var item in bundles)
                {
                    downloader.AddDownload(GetDownloadURL(item.name), updatePath + item.name, item.crc, item.len);
                }
                Downloaders.Add(downloader);
                handler = downloader;
                return(true);
            }

            handler = null;
            return(false);
        }
Ejemplo n.º 4
0
        /*
         * public int SetProxy(string ProxyURL) {
         *  var cnt = 0;
         *
         *  this.Downloaders.ForEach(x => {
         *      if (x is IProxy) {
         *          (x as IProxy).ProxyURL = ProxyURL;
         *          cnt++;
         *      }
         *  });
         *
         *  return cnt;
         * }
         */

        public void AddDownloader(IFileDownloader downloader)
        {
            Downloaders.Add(downloader);
        }