#include #include #include #include #include namespace testbed { void command_system(entt::registry ®istry) { for([[maybe_unused]] auto [entt, input]: registry.view().each()) { switch(input.command) { case input_listener_component::type::UP: registry.get(entt).dy = -1.0f; break; case input_listener_component::type::DOWN: registry.get(entt).dy = 1.0f; break; case input_listener_component::type::LEFT: registry.get(entt).dx = -1.0f; break; case input_listener_component::type::RIGHT: registry.get(entt).dx = 1.0f; break; case input_listener_component::type::STOP: { auto &vel = registry.get(entt); vel.dx = vel.dy = 0.0f; } break; case input_listener_component::type::PLUS: { registry.get(entt).w *= 1.1; registry.get(entt).h *= 1.1; } break; case input_listener_component::type::MINUS: { registry.get(entt).w *= 0.9; registry.get(entt).h *= 0.9; } break; default: break; } input.command = input_listener_component::type::NONE; } } } // namespace testbed