void Application::HandleEvents(void) {
if (!CurrentState()) return;
+ input.ResetInteractiveState();
SDL_Event event;
while (SDL_PollEvent(&event)) {
switch (event.type) {
screen->Resize(event.resize.w, event.resize.h);
CurrentState()->Resize(event.resize.w, event.resize.h);
break;
+ case SDL_KEYDOWN:
+ case SDL_KEYUP:
+ input.HandleKeyboardEvent(event.key);
+ break;
default:
- CurrentState()->HandleEvent(event);
+ // skip event
break;
}
}
+ CurrentState()->HandleInput(input);
}
void Application::UpdateWorld(Uint32 deltaT) {