void Stage::synthesize_initial_events(Handle<Entity> entity, EventObserver &target_observer)
{
- for(Handle<Component> c: entity->get_components())
+ vector<Handle<Component>> components = entity->get_components();
+ for(Handle<Component> c: components)
event_source.emit_to<Events::ComponentCreated>(target_observer, c);
- for(Handle<Entity> e: entity->get_children())
+ vector<Handle<Entity>> children = entity->get_children();
+ for(Handle<Entity> e: children)
synthesize_initial_events(e, target_observer);
event_source.emit_to<Events::EntityCreated>(target_observer, entity);
}