Fixed self hitbox deactivation.
This commit is contained in:
parent
260c092a69
commit
c1e09fb450
|
|
@ -53,6 +53,7 @@ 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(component_data->activated)
|
||||||
if(display_draw_frect(&component_data->bounds, C_RED, 128)) return EXIT_FAILURE;
|
if(display_draw_frect(&component_data->bounds, C_RED, 128)) return EXIT_FAILURE;
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
|
|
|
||||||
|
|
@ -111,10 +111,12 @@ 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);
|
||||||
|
|
||||||
|
if(hitbox_component_data->activated)
|
||||||
linked_list_for_each(&game.entity_manager.entities, action_detect_solve_entities_collision, system_data, component->entity->id);
|
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;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue