private void RecuAddNodeFromXML(XmlNode node, HModelNode parent, bool multiplayer) { Debug.Log (node["ID"].InnerText); Trait t = new Trait(Convert.ToUInt32(node["ID"].InnerText), node["NAME"].InnerText, Convert.ToDouble(node["LEARNINGRATE"].InnerText), multiplayer); HModelNode tmp = new HModelNode(t, parent); foreach (XmlNode subTrait in node.SelectNodes("/CHILDREN/*")) { RecuAddNodeFromXML(subTrait, tmp, multiplayer); } }
/*private static HPlayerModel instance; public static HPlayerModel Instance { get { if (instance == null) instance = new HPlayerModel(); return instance; } }*/ public HPlayerModel(bool multiplayer) { XmlDocument xdoc = new XmlDocument(); xdoc.Load(XMLDocUrl); root = new HModelNode(new Trait(0, "Player's style", 0f, multiplayer), null); Debug.Log(xdoc.SelectNodes("/TRAITS/TRAIT").Count + " modelable traits where found!"); foreach (XmlNode trait in xdoc.SelectNodes("/TRAITS/TRAIT")) { RecuAddNodeFromXML(trait, root, multiplayer); } }
public HModelNode(Trait trait, HModelNode parent) { this.trait = trait; this.parent = parent; HModelNode.collection.Add(this); }
private HModelNode RecuFindNode(Trait trait, HModelNode node) { if (node.HasTrait(trait)) return node; HModelNode tmp = null; foreach (HModelNode n in node.children) tmp = RecuFindNode(trait, n); return tmp != null? tmp : null; }