public void parseXml(XmlElement elem) { clear(); m_name = ExportUtil.getXmlAttrStr(elem.Attributes["name"]); XmlNodeList stateMachineNodeList = elem.SelectNodes("Statemachine"); XmlElement stateMachineElem = null; XmlStateMachine stateMachine; foreach (XmlNode stateMachineNode in stateMachineNodeList) { stateMachineElem = (XmlElement)stateMachineNode; stateMachine = new XmlStateMachine(); stateMachine.layer = this; m_stateMachineList.Add(stateMachine); stateMachine.parseXml(stateMachineElem); } // 解析状态机转换 XmlNodeList stateMachineTransitionNodeList = elem.SelectNodes("StateMachineTransition"); XmlElement stateMachineTransitionElem = null; XmlStateMachineTransition stateMachineTransition; foreach (XmlNode stateMachineTransitionNode in stateMachineTransitionNodeList) { stateMachineTransitionElem = (XmlElement)stateMachineTransitionNode; stateMachineTransition = new XmlStateMachineTransition(); stateMachineTransition.xmlLayer = this; m_xmlStateMachineTransitionList.Add(stateMachineTransition); stateMachineTransition.parseXml(stateMachineTransitionElem); } }