@@ -135,6 +135,19 @@ ECSACT_DYNAMIC_API_FN(bool, ecsact_system_execution_context_has)
135135 ...
136136);
137137
138+ /**
139+ * Enable or disable streaming data for the given component.
140+ * @param ... if the component has indexed fields then those fields must be
141+ * supplied to the variadic arguments in declaration order.
142+ */
143+ ECSACT_DYNAMIC_API_FN (void , ecsact_system_execution_context_stream_toggle )
144+ ( //
145+ struct ecsact_system_execution_context * context ,
146+ ecsact_component_id component_id ,
147+ bool streaming_enabled ,
148+ ...
149+ );
150+
138151/**
139152 * Generate a new entity with specified components.
140153 *
@@ -515,62 +528,73 @@ ECSACT_DYNAMIC_API_FN(void, ecsact_set_system_notify_component_setting)
515528 ecsact_system_notify_setting setting
516529);
517530
531+ /**
532+ * Sets a components type
533+ */
534+ ECSACT_DYNAMIC_API_FN (void , ecsact_set_component_type )
535+ ( //
536+ ecsact_component_id component_id ,
537+ ecsact_component_type component_type
538+ );
539+
518540// # BEGIN FOR_EACH_ECSACT_DYNAMIC_API_FN
519541#ifdef ECSACT_MSVC_TRADITIONAL
520542# define FOR_EACH_ECSACT_DYNAMIC_API_FN (fn , ...) \
521543 ECSACT_MSVC_TRADITIONAL_ERROR()
522544#else
523- # define FOR_EACH_ECSACT_DYNAMIC_API_FN (fn , ...) \
524- fn(ecsact_system_execution_context_action, __VA_ARGS__); \
525- fn(ecsact_system_execution_context_add, __VA_ARGS__); \
526- fn(ecsact_system_execution_context_remove, __VA_ARGS__); \
527- fn(ecsact_system_execution_context_get, __VA_ARGS__); \
528- fn(ecsact_system_execution_context_update, __VA_ARGS__); \
529- fn(ecsact_system_execution_context_has, __VA_ARGS__); \
530- fn(ecsact_system_execution_context_generate, __VA_ARGS__); \
531- fn(ecsact_system_execution_context_parent, __VA_ARGS__); \
532- fn(ecsact_system_execution_context_same, __VA_ARGS__); \
533- fn(ecsact_system_execution_context_other, __VA_ARGS__); \
534- fn(ecsact_system_execution_context_entity, __VA_ARGS__); \
535- fn(ecsact_system_execution_context_id, __VA_ARGS__); \
536- fn(ecsact_create_package, __VA_ARGS__); \
537- fn(ecsact_set_package_source_file_path, __VA_ARGS__); \
538- fn(ecsact_add_dependency, __VA_ARGS__); \
539- fn(ecsact_remove_dependency, __VA_ARGS__); \
540- fn(ecsact_destroy_package, __VA_ARGS__); \
541- fn(ecsact_create_system, __VA_ARGS__); \
542- fn(ecsact_set_system_lazy_iteration_rate, __VA_ARGS__); \
543- fn(ecsact_add_child_system, __VA_ARGS__); \
544- fn(ecsact_remove_child_system, __VA_ARGS__); \
545- fn(ecsact_reorder_system, __VA_ARGS__); \
546- fn(ecsact_set_system_execution_impl, __VA_ARGS__); \
547- fn(ecsact_create_action, __VA_ARGS__); \
548- fn(ecsact_create_component, __VA_ARGS__); \
549- fn(ecsact_create_transient, __VA_ARGS__); \
550- fn(ecsact_add_field, __VA_ARGS__); \
551- fn(ecsact_remove_field, __VA_ARGS__); \
552- fn(ecsact_destroy_component, __VA_ARGS__); \
553- fn(ecsact_destroy_transient, __VA_ARGS__); \
554- fn(ecsact_create_enum, __VA_ARGS__); \
555- fn(ecsact_destroy_enum, __VA_ARGS__); \
556- fn(ecsact_add_enum_value, __VA_ARGS__); \
557- fn(ecsact_remove_enum_value, __VA_ARGS__); \
558- fn(ecsact_set_system_capability, __VA_ARGS__); \
559- fn(ecsact_unset_system_capability, __VA_ARGS__); \
560- fn(ecsact_add_system_assoc, __VA_ARGS__); \
561- fn(ecsact_remove_system_assoc, __VA_ARGS__); \
562- fn(ecsact_add_system_assoc_field, __VA_ARGS__); \
563- fn(ecsact_remove_system_assoc_field, __VA_ARGS__); \
564- fn(ecsact_set_system_assoc_capability, __VA_ARGS__); \
565- fn(ecsact_set_system_association_capability, __VA_ARGS__); \
566- fn(ecsact_unset_system_association_capability, __VA_ARGS__); \
567- fn(ecsact_add_system_generates, __VA_ARGS__); \
568- fn(ecsact_remove_system_generates, __VA_ARGS__); \
569- fn(ecsact_system_generates_set_component, __VA_ARGS__); \
570- fn(ecsact_system_generates_unset_component, __VA_ARGS__); \
571- fn(ecsact_set_entity_execution_status, __VA_ARGS__); \
572- fn(ecsact_set_system_parallel_execution, __VA_ARGS__); \
573- fn(ecsact_set_system_notify_component_setting, __VA_ARGS__)
545+ # define FOR_EACH_ECSACT_DYNAMIC_API_FN (fn , ...) \
546+ fn(ecsact_system_execution_context_action, __VA_ARGS__); \
547+ fn(ecsact_system_execution_context_add, __VA_ARGS__); \
548+ fn(ecsact_system_execution_context_remove, __VA_ARGS__); \
549+ fn(ecsact_system_execution_context_get, __VA_ARGS__); \
550+ fn(ecsact_system_execution_context_update, __VA_ARGS__); \
551+ fn(ecsact_system_execution_context_has, __VA_ARGS__); \
552+ fn(ecsact_system_execution_context_stream_toggle, __VA_ARGS__); \
553+ fn(ecsact_system_execution_context_generate, __VA_ARGS__); \
554+ fn(ecsact_system_execution_context_parent, __VA_ARGS__); \
555+ fn(ecsact_system_execution_context_same, __VA_ARGS__); \
556+ fn(ecsact_system_execution_context_other, __VA_ARGS__); \
557+ fn(ecsact_system_execution_context_entity, __VA_ARGS__); \
558+ fn(ecsact_system_execution_context_id, __VA_ARGS__); \
559+ fn(ecsact_create_package, __VA_ARGS__); \
560+ fn(ecsact_set_package_source_file_path, __VA_ARGS__); \
561+ fn(ecsact_add_dependency, __VA_ARGS__); \
562+ fn(ecsact_remove_dependency, __VA_ARGS__); \
563+ fn(ecsact_destroy_package, __VA_ARGS__); \
564+ fn(ecsact_create_system, __VA_ARGS__); \
565+ fn(ecsact_set_system_lazy_iteration_rate, __VA_ARGS__); \
566+ fn(ecsact_add_child_system, __VA_ARGS__); \
567+ fn(ecsact_remove_child_system, __VA_ARGS__); \
568+ fn(ecsact_reorder_system, __VA_ARGS__); \
569+ fn(ecsact_set_system_execution_impl, __VA_ARGS__); \
570+ fn(ecsact_create_action, __VA_ARGS__); \
571+ fn(ecsact_create_component, __VA_ARGS__); \
572+ fn(ecsact_create_transient, __VA_ARGS__); \
573+ fn(ecsact_add_field, __VA_ARGS__); \
574+ fn(ecsact_remove_field, __VA_ARGS__); \
575+ fn(ecsact_destroy_component, __VA_ARGS__); \
576+ fn(ecsact_destroy_transient, __VA_ARGS__); \
577+ fn(ecsact_create_enum, __VA_ARGS__); \
578+ fn(ecsact_destroy_enum, __VA_ARGS__); \
579+ fn(ecsact_add_enum_value, __VA_ARGS__); \
580+ fn(ecsact_remove_enum_value, __VA_ARGS__); \
581+ fn(ecsact_set_system_capability, __VA_ARGS__); \
582+ fn(ecsact_unset_system_capability, __VA_ARGS__); \
583+ fn(ecsact_add_system_assoc, __VA_ARGS__); \
584+ fn(ecsact_remove_system_assoc, __VA_ARGS__); \
585+ fn(ecsact_add_system_assoc_field, __VA_ARGS__); \
586+ fn(ecsact_remove_system_assoc_field, __VA_ARGS__); \
587+ fn(ecsact_set_system_assoc_capability, __VA_ARGS__); \
588+ fn(ecsact_set_system_association_capability, __VA_ARGS__); \
589+ fn(ecsact_unset_system_association_capability, __VA_ARGS__); \
590+ fn(ecsact_add_system_generates, __VA_ARGS__); \
591+ fn(ecsact_remove_system_generates, __VA_ARGS__); \
592+ fn(ecsact_system_generates_set_component, __VA_ARGS__); \
593+ fn(ecsact_system_generates_unset_component, __VA_ARGS__); \
594+ fn(ecsact_set_entity_execution_status, __VA_ARGS__); \
595+ fn(ecsact_set_system_parallel_execution, __VA_ARGS__); \
596+ fn(ecsact_set_system_notify_component_setting, __VA_ARGS__); \
597+ fn(ecsact_set_component_type, __VA_ARGS__)
574598#endif
575599
576600#endif // ECSACT_RUNTIME_DYNAMIC_H
0 commit comments