private Label ParseUser(XmlNode node) { //parse user credits entry Label label; string link = XmlObject.ParseAttribute(node, "link", string.Empty); if (!string.IsNullOrEmpty(link)) { label = new LinkLabel(); label.Tag = link; (label as LinkLabel).LinkBehavior = LinkBehavior.HoverUnderline; label.Click += new EventHandler(OnClick); } else { label = new Label(); } label.Image = XmlObject.ParseAttribute(node, "tier", "patreon_gold") switch { "gold" => Resources.supporter_patreon_gold, "diamond" => Resources.supporter_patreon_diamond, "netherite" => Resources.supporter_patreon_netherite, "beta" => Resources.supporter_beta, _ => Resources.supporter_developer }; label.ImageAlign = ContentAlignment.MiddleLeft; label.Margin = new Padding(3); label.Size = new Size(128, 16); label.Text = new string(' ', 6) + XmlObject.ParseAttribute(node, "name", string.Empty); label.TextAlign = ContentAlignment.MiddleLeft; return(label); }
private CCreditsGroup ParseGroup(XmlNode node) { //parse credits groups and add them var group = new CCreditsGroup(); group.SetTitle(XmlObject.ParseAttribute(node, "name", string.Empty)); foreach (XmlNode userNode in node.ChildNodes) { group.AddUser(ParseUser(userNode)); } return(group); }