public Part( NodeReader node )
{
name = node.AtText( "name" );
index = node.AtInteger( "arrayIndex" );
parent = node.AtInteger( "parentIndex" );
type = NodeTypeOperator.FromString( node.AtText( "type" ) );
boundsType = BoundsTypeOperator.FromString( node.AtText( "boundsType" ) );
inheritType = InheritTypeOperator.FromString( node.AtText( "inheritType" ) );
//inheritRates
blendType = AlphaBlendTypeOperator.FromString( node.AtText( "alphaBlendType" ) );
show = node.AtBoolean( "show" );
var n = node.ChildOrNull( "expandAttribute" );
expandAttribute = n != null ? n.AtText() : null;
n = node.ChildOrNull( "expandChildren" );
expandChildren = n != null ? n.AtText() : null;
}