@@ -115,7 +115,7 @@ ECSACT_CORE_API_FN(void, ecsact_get_entities)
115115/**
116116 * Adds a component to the specified entity.
117117 *
118- * @note This method should be avoided if possible. Adding a component in a
118+ * NOTE: This method should be avoided if possible. Adding a component in a
119119 * system or system execution options is preferred.
120120 * SEE: `ecsact_execute_systems`
121121 */
@@ -127,22 +127,31 @@ ECSACT_CORE_API_FN(ecsact_add_error, ecsact_add_component)
127127 const void * component_data
128128);
129129
130+ /**
131+ * Checks if a given entity has component with id @p component_id
132+ * @param ... if the component has indexed fields then those fields must be
133+ * supplied to the variadic arguments in declaration order.
134+ */
130135ECSACT_CORE_API_FN (bool , ecsact_has_component )
131136( //
132137 ecsact_registry_id registry_id ,
133138 ecsact_entity_id entity_id ,
134- ecsact_component_id component_id
139+ ecsact_component_id component_id ,
140+ ...
135141);
136142
137143/**
144+ * @param ... if the component has indexed fields then those fields must be
145+ * supplied to the variadic arguments in declaration order.
138146 * @returns non-owning pointer of the component data
139- * @note This method should be avoided if possible.
147+ * NOTE: This method should be avoided if possible.
140148 */
141149ECSACT_CORE_API_FN (const void * , ecsact_get_component )
142150( //
143151 ecsact_registry_id registry_id ,
144152 ecsact_entity_id entity_id ,
145- ecsact_component_id component_id
153+ ecsact_component_id component_id ,
154+ ...
146155);
147156
148157/**
@@ -184,7 +193,10 @@ ECSACT_CORE_API_FN(void, ecsact_each_component)
184193/**
185194 * Update a component for the specified entity.
186195 *
187- * @note This method should be avoided if possible. Updating a component in a
196+ * @param ... if the component has indexed fields then those fields must be
197+ * supplied to the variadic arguments in declaration order.
198+ *
199+ * NOTE: This method should be avoided if possible. Updating a component in a
188200 * system or system execution options is preferred.
189201 * SEE: `ecsact_execute_systems`
190202 */
@@ -193,21 +205,26 @@ ECSACT_CORE_API_FN(ecsact_update_error, ecsact_update_component)
193205 ecsact_registry_id registry_id ,
194206 ecsact_entity_id entity_id ,
195207 ecsact_component_id component_id ,
196- const void * component_data
208+ const void * component_data ,
209+ ...
197210);
198211
199212/**
200213 * Removes a component from the specified entity.
201214 *
202- * @note This method should be avoided if possible. Removing a component in a
215+ * @param ... if the component has indexed fields then those fields must be
216+ * supplied to the variadic arguments in declaration order.
217+ *
218+ * NOTE: This method should be avoided if possible. Removing a component in a
203219 * system or system execution options is preferred.
204220 * SEE: `ecsact_execute_systems`
205221 */
206222ECSACT_CORE_API_FN (void , ecsact_remove_component )
207223( //
208224 ecsact_registry_id registry_id ,
209225 ecsact_entity_id entity_id ,
210- ecsact_component_id component_id
226+ ecsact_component_id component_id ,
227+ ...
211228);
212229
213230/**
0 commit comments