public static bool Parse( /*in*/ XmlNode _TableNode ,
							  out InterpolateTable _Result )
    {
        InterpolatePair anewPair = null ;
        _Result = new InterpolateTable() ;
        if( null != _TableNode.Attributes[ "name" ] )
        {
            _Result.m_Name =_TableNode.Attributes[ "name" ].Value ;
            if( _TableNode.HasChildNodes )
            {
                for( int i = 0 ; i < _TableNode.ChildNodes.Count ; ++i )
                {
                    if( "InterpolatePair" == _TableNode.ChildNodes[ i ].Name )
                    {
                        if( true == XMLParseInterpolatePair.Parse( _TableNode.ChildNodes[ i ] ,
                            out anewPair ) )
                        {
                            _Result.m_Table.Add( anewPair ) ;
                        }
                    }
                }
            }
            return true ;
        }
        return false ;
    }
    public UnitComponentData( UnitComponentData _src )
    {
        this.m_Name = _src.m_Name ;
        this.m_HP = new StandardParameter( _src.m_HP ) ;
        this.m_Energy = new StandardParameter( _src.m_Energy ) ;
        this.m_Generation = new StandardParameter( _src.m_Generation ) ;
        this.m_Effect = new StandardParameter( _src.m_Effect ) ;

        this.m_Status = _src.m_Status ;
        this.m_StatusDescription = new StatusDescription( _src.m_StatusDescription ) ;
        this.m_Effect_HP_Curve = new InterpolateTable( _src.m_Effect_HP_Curve ) ;

        this.m_ReloadEnergy = new StandardParameter( _src.m_ReloadEnergy ) ;
        this.m_ReloadGeneration = new StandardParameter( _src.m_ReloadGeneration ) ;
        this.m_WeaponReloadStatus = _src.m_WeaponReloadStatus ;

        this.m_ComponentParam = new ComponentParam( _src.m_ComponentParam ) ;
        this.m_WeaponParam = new WeaponParam( _src.m_WeaponParam ) ;
    }
 public InterpolateTable( InterpolateTable _src )
 {
     m_Table = new List<InterpolatePair>( _src.m_Table ) ;
     m_Name = _src.m_Name ;
 }