Exemple #1
0
void GameWidget::handleEvent(const Common::Event &event) {
	if (!_enabled)
		return;

	if (!_gui.getGame().isCurrentSceneMap()) {
		handleNormalScene(event);
	} else {
		handleMapScene(event);
	}
}
Exemple #2
0
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;
}