@@ -832,39 +832,42 @@ private:
832
832
});
833
833
}
834
834
835
- void _trigger_remove_component_events (
836
- registry_info& info,
837
- execution_events_collector& events_collector
838
- ) {
839
- using boost::mp11::mp_for_each;
840
-
841
- mp_for_each<typename package::components>([&]<typename C>(C) {
842
- if constexpr (C::transient) {
843
- return ;
844
- }
835
+ void _trigger_remove_component_events
836
+ ( registry_info& info
837
+ , execution_events_collector& events_collector
838
+ )
839
+ {
840
+ using boost::mp11::mp_for_each;
845
841
846
- ::entt::basic_view removed_view{
847
- info.registry .template storage <detail::temp_storage<C>>(),
848
- info.registry .template storage <component_removed<C>>(),
849
- };
842
+ mp_for_each<typename package::components>([&]<typename C>(C) {
843
+ if constexpr (C::transient) return ;
850
844
851
- for (entt_entity_type entity : removed_view) {
852
845
if constexpr (std::is_empty_v<C>) {
853
- events_collector.invoke_remove_callback <C>(
854
- info.get_ecsact_entity_id (entity)
855
- );
846
+ ::entt::basic_view removed_view{
847
+ info.registry .template storage <component_removed<C>>(),
848
+ };
849
+ for (entt_entity_type entity : removed_view) {
850
+ events_collector.invoke_remove_callback <C>(
851
+ info.get_ecsact_entity_id (entity)
852
+ );
853
+ }
856
854
} else {
857
- events_collector.invoke_remove_callback <C>(
858
- info.get_ecsact_entity_id (entity),
859
- removed_view.template get <detail::temp_storage<C>>(entity).value
860
- );
855
+ ::entt::basic_view removed_view{
856
+ info.registry .template storage <detail::temp_storage<C>>(),
857
+ info.registry .template storage <component_removed<C>>(),
858
+ };
859
+ for (entt_entity_type entity : removed_view) {
860
+ events_collector.invoke_remove_callback <C>(
861
+ info.get_ecsact_entity_id (entity),
862
+ removed_view.template get <detail::temp_storage<C>>(entity).value
863
+ );
864
+ info.registry .template storage <detail::temp_storage<C>>().remove (
865
+ entity
866
+ );
867
+ }
861
868
}
862
-
863
- info.registry .template storage <detail::temp_storage<C>>().remove (entity
864
- );
865
- }
866
- });
867
- }
869
+ });
870
+ }
868
871
869
872
void _execute_systems (registry_info& info, actions_span_t & actions) {
870
873
using boost::mp11::mp_for_each;
0 commit comments