コード例 #1
0
    /*
     * @brief Parse unit from xml
     */
    private bool ParseUnitTemplateData( XmlNode _UnitNode , 
								out UnitTemplateData _Data )
    {
        _Data = new UnitTemplateData() ;

        if( null == _UnitNode.Attributes[ "unitDataTemplateName" ] )
            return false ;

        _Data.unitDataTemplateName = _UnitNode.Attributes[ "unitDataTemplateName" ].Value ;

        if( null != _UnitNode.Attributes[ "unitDataGUITextureName" ] )
            _Data.unitDataGUITextureName = _UnitNode.Attributes[ "unitDataGUITextureName" ].Value ;

        if( null != _UnitNode.Attributes[ "UnitDisplayNameIndex" ] )
        {
            string UnitDisplayNameIndexStr = _UnitNode.Attributes[ "UnitDisplayNameIndex" ].Value ;
            int.TryParse( UnitDisplayNameIndexStr , out _Data.unitDisplayNameIndex ) ;
        }

        for( int i = 0 ; i < _UnitNode.ChildNodes.Count ; ++i )
        {
            if( -1 != _UnitNode.ChildNodes[ i ].Name.IndexOf( "comment" ) )
            {
                // comment
            }
            else if( "AddComponent" == _UnitNode.ChildNodes[ i ].Name )
            {
                if( null != _UnitNode.ChildNodes[ i ].Attributes["name"] )
                {
                    _Data.m_AddComponentList.Add( _UnitNode.ChildNodes[ i ].Attributes["name"].Value ) ;
                }
            }
            else if( "Component" == _UnitNode.ChildNodes[ i ].Name )
            {
                // parse compoent
                UnitComponentData componentData ;
                if( true == ParseComponent( _UnitNode.ChildNodes[ i ] ,
                                            out componentData ) )
                {
                    _Data.unitComponents.Add( componentData ) ;
                }
            }
            else
            {
                // Debug.Log( "_UnitNode.ChildNodes[ i ]" + _UnitNode.ChildNodes[ i ].Name ) ;
                // parse standard parameter
                string name ;
                StandardParameter param ;
                if( true == XMLParseLevelUtility.ParseStandardParameter( _UnitNode.ChildNodes[ i ] ,
                                                                        out name ,
                                                                        out param ) )
                {
                    _Data.standardParameters.Add( name ,param ) ;
                }
            }
        }
        return true ;
    }
コード例 #2
0
 public UnitTemplateData( UnitTemplateData _src )
 {
     unitDataTemplateName = _src.unitDataTemplateName ;
     unitDataGUITextureName = _src.unitDataGUITextureName ;
     unitDisplayNameIndex = _src.unitDisplayNameIndex ;
     standardParameters = _src.standardParameters ;
     unitComponents = _src.unitComponents ;
     m_AddComponentList = _src.m_AddComponentList ;
 }