protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Width/Min", true, out subEle);
            subEle.Value = MinWidth.ToString("G15");

            ele.TryPathTo("Width/Max", true, out subEle);
            subEle.Value = MaxWidth.ToString("G15");

            ele.TryPathTo("Height/Min", true, out subEle);
            subEle.Value = MinHeight.ToString("G15");

            ele.TryPathTo("Height/Max", true, out subEle);
            subEle.Value = MaxHeight.ToString("G15");

            ele.TryPathTo("Depth", true, out subEle);
            subEle.Value = Depth.ToString("G15");

            ele.TryPathTo("Shininess", true, out subEle);
            subEle.Value = Shininess.ToString("G15");

            ele.TryPathTo("Parallax/Scale", true, out subEle);
            subEle.Value = ParallaxScale.ToString("G15");

            ele.TryPathTo("Parallax/Passes", true, out subEle);
            subEle.Value = ParallaxPasses.ToString();

            ele.TryPathTo("Flags", true, out subEle);
            subEle.Value = DecalFlags.ToString();

            WriteUnusedXML(ele, master);

            ele.TryPathTo("Color", true, out subEle);
            Color.WriteXML(subEle, master);
        }
        /// <summary>
        /// Create url query string.
        /// </summary>
        /// <returns>query string</returns>
        public override string ToString()
        {
            var sb = new StringBuilder();

            if (!String.IsNullOrEmpty(Query))
            {
                sb.Append($"&q={HttpTools.UriEncode(Query)}");
            }

            if (Language != null)
            {
                sb.Append($"&lang={Language.ToString().ToLower()}");
            }

            if (!String.IsNullOrEmpty(Id))
            {
                sb.Append($"&id={Id}");
            }

            if (Category != null)
            {
                sb.Append($"&category={Category.ToString().ToLower()}");
            }

            if (MinWidth != null && MinWidth != 0)
            {
                sb.Append($"&min_width={MinWidth.ToString().ToLower()}");
            }

            if (MinHeight != null && MinHeight != 0)
            {
                sb.Append($"&min_height={MinHeight.ToString().ToLower()}");
            }

            if (IsEditorsChoice != null)
            {
                sb.Append($"&editors_choice={IsEditorsChoice.ToString().ToLower()}");
            }

            if (IsSafeSearch != null)
            {
                sb.Append($"&safesearch={IsSafeSearch.ToString().ToLower()}");
            }

            if (Order != null)
            {
                sb.Append($"&order={Order.ToString().ToLower()}");
            }

            if (Page != null)
            {
                sb.Append($"&page={Page}");
            }

            if (PerPage != null)
            {
                sb.Append($"&per_page={PerPage}");
            }

            return(sb.ToString());
        }