コード例 #1
0
        public static PanelArea Load(XmlNode node, string dir)
        {
            PanelArea area = new PanelArea();

            area.Name      = node.Attributes["name"].Value;
            area.Left      = int.Parse(node.Attributes["left"].Value);
            area.Top       = int.Parse(node.Attributes["top"].Value);
            area.Width     = int.Parse(node.Attributes["width"].Value);
            area.Height    = int.Parse(node.Attributes["height"].Value);
            area.Clickable = bool.Parse(node.Attributes["clickable"].Value);
            area.Order     = int.Parse(node.Attributes["order"].Value);
            List <PanelImage> images = new List <PanelImage>();
            XmlNodeList       nodes  = node.SelectNodes("image");

            foreach (XmlNode node2 in nodes)
            {
                images.Add(PanelImage.Load(node2, dir));
            }
            area.Images = images.ToArray();
            return(area);
        }
コード例 #2
0
        public static PanelConfiguration Load(string fileName)
        {
            XmlDocument xml = new XmlDocument();

            xml.Load(fileName);
            XmlNode node = xml.SelectSingleNode("/panel");

            if (node != null)
            {
                PanelConfiguration panel = new PanelConfiguration();
                panel.Name        = node.Attributes["name"].Value;
                panel.ShowCaption = bool.Parse(node.Attributes["showCaption"].Value);
                panel.Width       = int.Parse(node.Attributes["width"].Value);
                panel.Height      = int.Parse(node.Attributes["height"].Value);
                panel.Top         = int.Parse(node.Attributes["top"].Value);
                panel.Left        = int.Parse(node.Attributes["left"].Value);
                XmlNodeList       backgroundImagesNodes = node.SelectNodes("background/image");
                List <PanelImage> backgroundImages      = new List <PanelImage>();
                foreach (XmlNode node2 in backgroundImagesNodes)
                {
                    backgroundImages.Add(PanelImage.Load(node2, Path.GetDirectoryName(fileName)));
                }
                panel.Background = backgroundImages.ToArray();
                XmlNodeList      areasNodes = node.SelectNodes("area");
                List <PanelArea> areas      = new List <PanelArea>();
                foreach (XmlNode node3 in areasNodes)
                {
                    areas.Add(PanelArea.Load(node3, Path.GetDirectoryName(fileName)));
                }
                areas.Sort(delegate(PanelArea left, PanelArea right)
                {
                    return(left.Order.CompareTo(right.Order));
                });
                panel.Areas = areas.ToArray();
                return(panel);
            }
            return(null);
        }