override public object Clone() { BodyManagement bm = new BodyManagement(body); bm.Copy(this); return(bm); //base.Clone(); //return new object(); //throw new NotImplementedException(); }
public void ReadXml(XmlReader reader) { reader.MoveToContent(); id = reader.GetAttribute("id"); Debug.Assert(id != null, string.Format("Invalid Body id, name = {0}", name)); name = reader.GetAttribute("name"); if (name == null) { name = id; } type = reader.GetAttribute("type"); while (reader.Read()) { XmlNodeType nodeType = reader.NodeType; switch (nodeType) { case XmlNodeType.Element: if (reader.Name.Equals("Management")) { BodyManagement bm = new BodyManagement(this); XmlReader subtree = reader.ReadSubtree(); bm.ReadXml(subtree); government.addPower(bm); subtree.Close(); } break; case XmlNodeType.EndElement: default: break; } } //Debug.Log("New body with id = " + id); }