Example #1
0
        public void parseXml(XmlElement elem)
        {
            clear();

            m_name = ExportUtil.getXmlAttrStr(elem.Attributes["name"]);
            m_pos  = ExportUtil.getXmlAttrVector3(elem.Attributes["pos"]);

            // 解析没有动画文件的 State
            XmlNodeList noStateNodeList = elem.SelectNodes("State");
            XmlElement  stateElem       = null;
            XmlState    state           = null;

            foreach (XmlNode stateNode in noStateNodeList)
            {
                stateElem          = (XmlElement)stateNode;
                state              = new XmlState();
                state.stateMachine = this;
                m_noResStateList.Add(state);
                state.parseXml(stateElem);
            }

            // 解析有动画资源文件的 State
            XmlNodeList clipNodeList = elem.SelectNodes("Clip");
            XmlElement  clipElem     = null;
            XmlClip     _clip;

            foreach (XmlNode clipNode in clipNodeList)
            {
                clipElem           = (XmlElement)clipNode;
                _clip              = new XmlClip();
                _clip.stateMachine = this;
                m_clipList.Add(_clip);
                _clip.parseXml(clipElem);
            }

            // 解析状态机中的转换
            XmlNodeList        tranNodeList = elem.SelectNodes("StateTransition");
            XmlElement         tranElem     = null;
            XmlStateTransition _tran;

            foreach (XmlNode tranNode in tranNodeList)
            {
                tranElem           = (XmlElement)tranNode;
                _tran              = new XmlStateTransition();
                _tran.stateMachine = this;
                m_tranList.Add(_tran);
                _tran.parseXml(tranElem);
            }
        }
Example #2
0
        public void parseXml(XmlElement elem)
        {
            clear();

            m_name = ExportUtil.getXmlAttrStr(elem.Attributes["name"]);
            m_fullMotion = string.Format("{0}/{1}", m_stateMachine.layer.xmlLayers.xmlAnimatorController.inPath, m_name);

            XmlNodeList stateNodeList = elem.SelectNodes("State");
            XmlElement stateElem = null;
            XmlState state;
            foreach (XmlNode stateNode in stateNodeList)
            {
                stateElem = (XmlElement)stateNode;
                state = new XmlState();
                state.stateMachine = m_stateMachine;
                m_stateList.Add(state);
                m_stateMachine.stateList.Add(state);
                state.parseXml(stateElem);
            }
        }
Example #3
0
        public void parseXml(XmlElement elem)
        {
            clear();

            m_name       = ExportUtil.getXmlAttrStr(elem.Attributes["name"]);
            m_fullMotion = string.Format("{0}/{1}", m_stateMachine.layer.xmlLayers.xmlAnimatorController.inPath, m_name);

            XmlNodeList stateNodeList = elem.SelectNodes("State");
            XmlElement  stateElem     = null;
            XmlState    state;

            foreach (XmlNode stateNode in stateNodeList)
            {
                stateElem          = (XmlElement)stateNode;
                state              = new XmlState();
                state.stateMachine = m_stateMachine;
                m_stateList.Add(state);
                m_stateMachine.stateList.Add(state);
                state.parseXml(stateElem);
            }
        }
Example #4
0
        public void parseXml(XmlElement elem)
        {
            clear();

            m_name = ExportUtil.getXmlAttrStr(elem.Attributes["name"]);
            m_pos = ExportUtil.getXmlAttrVector3(elem.Attributes["pos"]);

            // 解析没有动画文件的 State
            XmlNodeList noStateNodeList = elem.SelectNodes("State");
            XmlElement stateElem = null;
            XmlState state = null;
            foreach (XmlNode stateNode in noStateNodeList)
            {
                stateElem = (XmlElement)stateNode;
                state = new XmlState();
                state.stateMachine = this;
                m_noResStateList.Add(state);
                state.parseXml(stateElem);
            }

            // 解析有动画资源文件的 State
            XmlNodeList clipNodeList = elem.SelectNodes("Clip");
            XmlElement clipElem = null;
            XmlClip _clip;
            foreach (XmlNode clipNode in clipNodeList)
            {
                clipElem = (XmlElement)clipNode;
                _clip = new XmlClip();
                _clip.stateMachine = this;
                m_clipList.Add(_clip);
                _clip.parseXml(clipElem);
            }

            // 解析状态机中的转换
            XmlNodeList tranNodeList = elem.SelectNodes("StateTransition");
            XmlElement tranElem = null;
            XmlStateTransition _tran;
            foreach (XmlNode tranNode in tranNodeList)
            {
                tranElem = (XmlElement)tranNode;
                _tran = new XmlStateTransition();
                _tran.stateMachine = this;
                m_tranList.Add(_tran);
                _tran.parseXml(tranElem);
            }
        }