Exemple #1
0
        public void parseXml(string xmlStr)
        {
            SecurityParser xmlDoc = new SecurityParser();

            xmlDoc.LoadXml(xmlStr);

            SecurityElement rootNode             = xmlDoc.ToXml();
            ArrayList       behaviorTemplateNode = rootNode.Children;
            ArrayList       behaviorTreeXmlList  = null;
            SecurityElement xmlElemTpl;
            SecurityElement xmlElemBT;
            BehaviorTree    behaviorTree = null;
            string          strId        = "";
            BTID            id           = BTID.eNone;

            foreach (SecurityElement node in behaviorTemplateNode)  // 树列表,包括树和其它信息
            {
                xmlElemTpl          = node;
                behaviorTreeXmlList = xmlElemTpl.Children;
                behaviorTree        = new BehaviorTree(new BTRoot());

                UtilXml.getXmlAttrStr(node, "name", ref strId);
                id             = m_btAttrSys.getBTIDByName(strId);
                m_id2BTDic[id] = behaviorTree;

                foreach (SecurityElement nodetree in behaviorTreeXmlList)
                {
                    xmlElemBT = nodetree;
                    m_BTFactory.parseXml(behaviorTree, xmlElemBT);
                }
            }
        }