1
0

command_system.cpp 915 B

12345678910111213141516171819202122232425262728293031
  1. #include <component/input_listener_component.h>
  2. #include <component/velocity_component.h>
  3. #include <entt/entity/registry.hpp>
  4. #include <system/command_system.h>
  5. namespace testbed {
  6. void command_system(entt::registry &registry) {
  7. for([[maybe_unused]] auto [entt, input, vel]: registry.view<input_listener_component, velocity_component>().each()) {
  8. switch(input.command) {
  9. case input_listener_component::type::UP:
  10. vel.dy = -1.0f;
  11. break;
  12. case input_listener_component::type::DOWN:
  13. vel.dy = 1.0f;
  14. break;
  15. case input_listener_component::type::LEFT:
  16. vel.dx = -1.0f;
  17. break;
  18. case input_listener_component::type::RIGHT:
  19. vel.dx = 1.0f;
  20. break;
  21. default:
  22. break;
  23. }
  24. input.command = input_listener_component::type::NONE;
  25. }
  26. }
  27. } // namespace testbed