- EntityImporter(scene::Node& parent, EntityCreator& entityTable) : m_parent(parent), m_entityTable(entityTable)
- {
- }
- void pushElement(const XMLElement& element)
- {
- ASSERT_MESSAGE(string_equal(element.name(), "entity"), PARSE_ERROR);
- constructor(node(), NodeSmartReference(m_entityTable.createEntity(GlobalEntityClassManager().findOrInsert("", true))));
- constructor(primitive(), makeReference(node().get()));
- }
- void popElement(const char* name)
- {
- ASSERT_MESSAGE(string_equal(name, "entity"), PARSE_ERROR);
- NodeSmartReference entity(m_entityTable.createEntity(GlobalEntityClassManager().findOrInsert(Node_getEntity(node())->getKeyValue("classname"), node_is_group(node()))));
-
- {
- EntityCopyingVisitor visitor(*Node_getEntity(entity));
- Node_getEntity(node())->forEachKeyValue(visitor);
- }
-
- if(Node_getTraversable(entity) != 0 && !Node_getEntity(entity)->getEntityClass().fixedsize)
- {
- parentBrushes(node(), entity);
- }
-
- Node_getTraversable(m_parent)->insert(entity);
-
- destructor(primitive());
- destructor(node());
- }
- std::size_t write(const char* buffer, std::size_t length)
- {
- return length;
- }
- TreeXMLImporter& child()
- {
- return primitive();
- }
+EntityImporter( scene::Node& parent, EntityCreator& entityTable ) : m_parent( parent ), m_entityTable( entityTable ){
+}
+void pushElement( const XMLElement& element ){
+ ASSERT_MESSAGE( string_equal( element.name(), "entity" ), PARSE_ERROR );
+ constructor( node(), NodeSmartReference( m_entityTable.createEntity( GlobalEntityClassManager().findOrInsert( "", true ) ) ) );
+ constructor( primitive(), makeReference( node().get() ) );
+}
+void popElement( const char* name ){
+ ASSERT_MESSAGE( string_equal( name, "entity" ), PARSE_ERROR );
+ NodeSmartReference entity( m_entityTable.createEntity( GlobalEntityClassManager().findOrInsert( Node_getEntity( node() )->getKeyValue( "classname" ), node_is_group( node() ) ) ) );
+
+ {
+ EntityCopyingVisitor visitor( *Node_getEntity( entity ) );
+ Node_getEntity( node() )->forEachKeyValue( visitor );
+ }
+
+ if ( Node_getTraversable( entity ) != 0 && !Node_getEntity( entity )->getEntityClass().fixedsize ) {
+ parentBrushes( node(), entity );
+ }
+
+ Node_getTraversable( m_parent )->insert( entity );
+
+ destructor( primitive() );
+ destructor( node() );
+}
+std::size_t write( const char* buffer, std::size_t length ){
+ return length;
+}
+TreeXMLImporter& child(){
+ return primitive();
+}