void InputManager::UpdatePolledEvents(SDL_Event e) { //if a new key was pressed if (!IsKeyHeld(e.key.keysym.sym)) { if (e.type == SDL_KEYDOWN) { std::cout << "Key Pressed\n"; downKeys.push_back(e.key.keysym.sym); } } //If a key was released if (e.type == SDL_KEYUP) { std::cout << "Key Released\n"; heldKeys.erase(std::remove(heldKeys.begin(), heldKeys.end(), e.key.keysym.sym)); } if (e.type == SDL_MOUSEBUTTONDOWN) { std::cout << "Mouse Clicked\n"; } }
bool Input::IsKeyMaskHeld(const std::string& mask) { for (std::list<KeyCode>::iterator i = instance->keyMasks[mask].begin(); i != instance->keyMasks[mask].end(); ++i) { if (IsKeyHeld(*i)) return true; } return false; }