Пример #1
0
        public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request)
        {
            var url      = request.Url.ToString();
            var lowerUrl = url.ToLower();

            if (lowerUrl.StartsWith("modsaber://playlist/"))
            {
                string dlurl = url.Substring(20);

                Download?.Invoke(this, dlurl);

                return(true);
            }
            else if (lowerUrl.StartsWith("beatsaver://"))
            {
                string dlurl = url.Substring(12);
                Download?.Invoke(this, string.Format(Constants.BEATSAVER_DOWNLOAD_API, dlurl));
                return(true);
            }
            return(base.ShouldOverrideUrlLoading(view, request));
        }
Пример #2
0
        public override bool ShouldOverrideUrlLoading(WebView view, IWebResourceRequest request)
        {
            var url      = request.Url.ToString();
            var lowerUrl = url.ToLower();

            if (lowerUrl.StartsWith("modsaber://playlist/"))
            {
                string dlurl = url.Substring(20);

                Download?.Invoke(this, dlurl);

                return(true);
            }
            else if (lowerUrl.StartsWith("sidequest://bsaber-multi/#"))
            {
                string dlurls = url.Substring(26)
                                .Replace("%22,%22", "\",\"")
                                .Replace("[%22", "[\"")
                                .Replace("%22]", "\"]");

                JArray urls = JArray.Parse(dlurls);

                if (urls.Count > 0)
                {
                    for (int i = 0; i < urls.Count; i++)
                    {
                        Download?.Invoke(this, (string)urls[i]);
                    }
                    return(true);
                }
            }
            else if (lowerUrl.StartsWith("beatsaver://"))
            {
                string dlurl = url.Substring(12);
                Download?.Invoke(this, string.Format(Constants.BEATSAVER_DOWNLOAD_API, dlurl));
                return(true);
            }
            return(base.ShouldOverrideUrlLoading(view, request));
        }