void GameWidget::handleEvent(const Common::Event &event) { if (!_enabled) return; if (!_gui.getGame().isCurrentSceneMap()) { handleNormalScene(event); } else { handleMapScene(event); } }
Common::Error MutationOfJBEngine::run() { initGraphics(320, 200); _console = new Console(this); _screen = new Graphics::Screen(); _game = new Game(this); setupCursor(); _game->changeScene(13, false); // Initial scene. while (!shouldQuit()) { Common::Event event; while (_eventMan->pollEvent(event)) { switch (event.type) { case Common::EVENT_KEYDOWN: { if ((event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d) || event.kbd.ascii == '~' || event.kbd.ascii == '#') { _console->attach(); } if (event.kbd.keycode == Common::KEYCODE_F5 && event.kbd.hasFlags(0)) { openMainMenuDialog(); } break; } case Common::EVENT_KEYUP: { switch (event.kbd.ascii) { case 'g': _game->setCurrentAction(ActionInfo::Walk); break; case 'r': _game->setCurrentAction(ActionInfo::Talk); break; case 's': _game->setCurrentAction(ActionInfo::Look); break; case 'b': _game->setCurrentAction(ActionInfo::Use); break; case 'n': _game->setCurrentAction(ActionInfo::PickUp); break; } break; } default: break; } if (!_game->isCurrentSceneMap()) { handleNormalScene(event); } else { handleMapScene(event); } } _console->onFrame(); _game->update(); _system->delayMillis(10); _screen->update(); } return Common::kNoError; }