InputSystem::InputSystem(Dispatcher& dispatcher) : dispatcher_(dispatcher), jumping_(false) { dispatcher_.attach(listener_); listener_.log<SetPlayable>([this](const SetPlayable& event) { players_.insert(event.entity, InputPlayer(event.body, event.vertical_rotor, event.horizontal_rotor)); }); listener_.log<Play>([this](const Play& event) { active_ = event.entity; }); sf::Mouse::setPosition(mouse_pos); }
void EventLevel(void) { // Check for any collision and handle the results DetectPlayerCollision(); // Handle any input for the current player InputPlayer(&CurrentPlayer); if(FoxInput_KeyTriggered('U')) { SetDebugMode(); } if(FoxInput_KeyTriggered('I')) { RemoveDebugMode(); } if(FoxInput_KeyTriggered(VK_ESCAPE)) { InitializePause(&DrawLevel); //TogglePauseSound(&BackgroundSnd); UpdatePause(); //TogglePauseSound(&BackgroundSnd); } }