parseNodeInstance method
Map<String, dynamic>
parseNodeInstance(
- XmlElement xml
)
Implementation
Map<String, dynamic> parseNodeInstance(XmlElement xml ) {
final Map<String,dynamic> data = {
'id': parseId( xml.getAttribute( 'url' )! ),
'materials': {},
'skeletons': []
};
for (final child in xml.descendantElements) {
switch ( child.name.local ) {
case 'bind_material':
final instances = child.findAllElements( 'instance_material' );
for (final instance in instances) {
final symbol = instance.getAttribute( 'symbol' );
final target = instance.getAttribute( 'target' );
data['materials'][ symbol ] = parseId( target! );
}
break;
case 'skeleton':
data['skeletons'].add( parseId( child.innerText ) );
break;
default:
break;
}
}
return data;
}