Fixed self hitbox deactivation.

This commit is contained in:
Ulysse Cura 2026-08-08 20:19:01 +02:00
parent 260c092a69
commit c1e09fb450
2 changed files with 5 additions and 2 deletions

View File

@ -53,7 +53,8 @@ int hitbox_component_draw(const component_t *component)
{ {
const hitbox_component_data_t *component_data = component->data; const hitbox_component_data_t *component_data = component->data;
if(display_draw_frect(&component_data->bounds, C_RED, 128)) return EXIT_FAILURE; if(component_data->activated)
if(display_draw_frect(&component_data->bounds, C_RED, 128)) return EXIT_FAILURE;
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }

View File

@ -111,11 +111,13 @@ int physics_system_update(component_t *component)
{ {
physics_system_data_t *system_data = component->data; physics_system_data_t *system_data = component->data;
transform_component_data_t *transform_component_data = system_data->transform_component_data; transform_component_data_t *transform_component_data = system_data->transform_component_data;
hitbox_component_data_t *hitbox_component_data = system_data->hitbox_component_data;
system_data->velocity.x = lerp(system_data->velocity.x, system_data->target_velocity.x, system_data->smoothing_factor); system_data->velocity.x = lerp(system_data->velocity.x, system_data->target_velocity.x, system_data->smoothing_factor);
system_data->velocity.y = lerp(system_data->velocity.y, system_data->target_velocity.y, system_data->smoothing_factor); system_data->velocity.y = lerp(system_data->velocity.y, system_data->target_velocity.y, system_data->smoothing_factor);
linked_list_for_each(&game.entity_manager.entities, action_detect_solve_entities_collision, system_data, component->entity->id); if(hitbox_component_data->activated)
linked_list_for_each(&game.entity_manager.entities, action_detect_solve_entities_collision, system_data, component->entity->id);
transform_component_data->bounds.x += system_data->velocity.x * system_data->speed * (float)game.delta_time_ms / 1000.0f; transform_component_data->bounds.x += system_data->velocity.x * system_data->speed * (float)game.delta_time_ms / 1000.0f;
transform_component_data->bounds.y += system_data->velocity.y * system_data->speed * (float)game.delta_time_ms / 1000.0f; transform_component_data->bounds.y += system_data->velocity.y * system_data->speed * (float)game.delta_time_ms / 1000.0f;