using System.Collections.Generic; using System.Xml.Linq; namespace Data { public class CharacterDef : Define { public DrawingOrderDef drawingOrder_down, drawingOrder_up, drawingOrder_left, drawingOrder_right; } public class DrawingOrderDef : Define { public List DrawNodes { get; set; } = new List(); public override bool Init(XElement xmlDef) { base.Init(xmlDef); foreach (var node in xmlDef.Elements("DrawNodes")) { DrawNodeDef drawNode = new DrawNodeDef(); drawNode.Init(node); DrawNodes.Add(drawNode); } return true; } } public partial class DrawNodeDef : Define { public string NodeName { get; set; } public List Children { get; set; } = new(); public override bool Init(XElement xmlDef) { base.Init(xmlDef); NodeName = xmlDef.Attribute("name")?.Value; foreach (var childNode in xmlDef.Elements("DrawNode")) { DrawNodeDef child = new DrawNodeDef(); child.Init(childNode); Children.Add(child); } return true; } } }