diff --git a/sources/enduro2d/high/systems/input_system.cpp b/sources/enduro2d/high/systems/input_system.cpp index 9e953d75..eb6d1447 100644 --- a/sources/enduro2d/high/systems/input_system.cpp +++ b/sources/enduro2d/high/systems/input_system.cpp @@ -24,17 +24,17 @@ namespace using namespace e2d; struct world_space_rect_collider { - using src_collider_t = rect_collider; + using local_space_collider_t = rect_collider; std::array points{}; }; struct world_space_circle_collider { - using src_collider_t = circle_collider; + using local_space_collider_t = circle_collider; std::array points{}; }; struct world_space_polygon_collider { - using src_collider_t = polygon_collider; + using local_space_collider_t = polygon_collider; vector points{}; }; @@ -97,19 +97,22 @@ namespace template < typename WorldSpaceCollider > void update_world_space_colliders(ecs::registry& owner) { - using dst_collider_t = WorldSpaceCollider; - using src_collider_t = typename WorldSpaceCollider::src_collider_t; - owner.for_joined_components([]( + using world_space_collider_t = WorldSpaceCollider; + using local_space_collider_t = typename WorldSpaceCollider::local_space_collider_t; + owner.for_joined_components([]( ecs::entity e, const touchable&, - const src_collider_t& src, + const local_space_collider_t& src, const actor& a) { update_world_space_collider( - e.ensure_component(), + e.ensure_component(), src, a.node() ? a.node()->world_matrix() : m4f::identity()); - }, !ecs::exists_any, disabled>()); + }, !ecs::exists_any< + disabled, + disabled, + disabled>()); } } @@ -199,6 +202,7 @@ namespace const b2f& camera_viewport) { using world_space_collider_t = WorldSpaceCollider; + using local_space_collider_t = typename WorldSpaceCollider::local_space_collider_t; owner.for_joined_components([ &mouse_p, &camera_vp, @@ -207,7 +211,10 @@ namespace if ( is_collider_under_mouse(c, mouse_p, camera_vp, camera_viewport) ) { e.ensure_component(); } - }, !ecs::exists_any, disabled>()); + }, !ecs::exists_any< + disabled, + disabled, + disabled>()); } }