#include "PlayerControlSystem.hpp" #include "Components/Player.hpp" #include "Components/Thrust.hpp" #include "Components/Transform.hpp" #include "Core/Coordinator.hpp" extern Coordinator gCoordinator; void PlayerControlSystem::Init() { gCoordinator.AddEventListener(METHOD_LISTENER(Events::Window::INPUT, PlayerControlSystem::InputListener)); } void PlayerControlSystem::Update(float dt) { //for (auto& entity : mEntities) //{ // auto& transform = gCoordinator.Get(entity); // if (mButtons.test(static_cast(InputButtons::W))) // { // transform.position.z += (dt * 10.0f); // } // else if (mButtons.test(static_cast(InputButtons::S))) // { // transform.position.z -= (dt * 10.0f); // } // if (mButtons.test(static_cast(InputButtons::Q))) // { // transform.position.y += (dt * 10.0f); // } // else if (mButtons.test(static_cast(InputButtons::E))) // { // transform.position.y -= (dt * 10.0f); // } // if (mButtons.test(static_cast(InputButtons::A))) // { // transform.position.x += (dt * 10.0f); // } // else if (mButtons.test(static_cast(InputButtons::D))) // { // transform.position.x -= (dt * 10.0f); // } //} } void PlayerControlSystem::InputListener(Event& event) { mButtons = event.GetParam>(Events::Window::Input::INPUT); }