public PartAnimation( NodeReader node ) { partName = node.AtText( "partName" ); var children = node.Child( "attributes" ).Children( "attribute" ); var results = new List<SpriteAttribute>(); foreach ( var child in children ) { string tag = child.Attribute( "tag" ).AtText(); var targetType = Type.GetType( "a.spritestudio.editor.attribute." + tag ); var attribute = (SpriteAttribute) Activator.CreateInstance( targetType ); attribute.Setup( child ); results.Add( attribute ); } attributes = results.AsReadOnly(); }
public Animation( NodeReader node ) { name = node.AtText( "name" ); if ( node.AtBoolean( "overrideSettings" ) ) { settings = CreateOverrideSettings( node.Child( "settings" ) ); } else { settings = new OverrideSettings(); } var parts = node.Child( "partAnimes" ).Children( "partAnime" ); List<PartAnimation> results = new List<PartAnimation>(); foreach ( var part in parts ) { results.Add( new PartAnimation( part ) ); } this.parts = results.AsReadOnly(); }