From d67e06c7b2902c2437cbb5392d1bf23dc9671116 Mon Sep 17 00:00:00 2001 From: Thomas Fach-Pedersen Date: Thu, 24 Aug 2017 22:34:40 +0200 Subject: BLADERUNNER: Add support for elevators --- engines/bladerunner/bladerunner.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'engines/bladerunner/bladerunner.cpp') diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp index 3622130b45..a3ac82df0e 100644 --- a/engines/bladerunner/bladerunner.cpp +++ b/engines/bladerunner/bladerunner.cpp @@ -31,6 +31,7 @@ #include "bladerunner/combat.h" #include "bladerunner/crimes_database.h" #include "bladerunner/dialogue_menu.h" +#include "bladerunner/elevator.h" #include "bladerunner/font.h" #include "bladerunner/gameflags.h" #include "bladerunner/gameinfo.h" @@ -292,7 +293,7 @@ bool BladeRunnerEngine::startup(bool hasSavegames) { // TODO: Spinner Interface _spinner = new Spinner(this); - // TODO: Elevators + _elevator = new Elevator(this); // TODO: Scores @@ -598,7 +599,13 @@ void BladeRunnerEngine::gameTick() { // TODO: Esper // TODO: VK - // TODO: Elevators + + if (_elevator->isOpen()) { + _elevator->tick(); + _ambientSounds->tick(); + return; + } + // TODO: Scores _adq->tick(); @@ -845,6 +852,15 @@ void BladeRunnerEngine::handleMouseAction(int x, int y, bool buttonLeft, bool bu return; } + if (_elevator->isOpen()) { + if (buttonDown) { + _elevator->handleMouseDown(x, y); + } else { + _elevator->handleMouseUp(x, y); + } + return; + } + if (_dialogueMenu->waitingForInput()) { if (buttonLeft && !buttonDown) { _dialogueMenu->mouseUp(); -- cgit v1.2.3