diff options
author | Paul Gilbert | 2014-12-26 14:37:20 +1100 |
---|---|---|
committer | Paul Gilbert | 2014-12-26 14:37:20 +1100 |
commit | 4f423c74b701b4dceff680259d174acb6a450b76 (patch) | |
tree | 7492eea7aeeece67c648caec752d0d14560def1a /engines/xeen/events.cpp | |
parent | 1249bc03fdbf6d1bc390f9aea45b482cbb258e33 (diff) | |
download | scummvm-rg350-4f423c74b701b4dceff680259d174acb6a450b76.tar.gz scummvm-rg350-4f423c74b701b4dceff680259d174acb6a450b76.tar.bz2 scummvm-rg350-4f423c74b701b4dceff680259d174acb6a450b76.zip |
XEEN: Implement beginnings of Dark Side intro and supporting methods
Diffstat (limited to 'engines/xeen/events.cpp')
-rw-r--r-- | engines/xeen/events.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/engines/xeen/events.cpp b/engines/xeen/events.cpp index e75744eb01..c4adabc433 100644 --- a/engines/xeen/events.cpp +++ b/engines/xeen/events.cpp @@ -39,6 +39,8 @@ EventsManager::EventsManager(XeenEngine *vm) : _vm(vm) { _priorFrameCounterTime = 0; _gameCounter = 0; _priorGameCounterTime = 0; + _keyCode = Common::KEYCODE_INVALID; + _leftButton = _rightButton = false; } /** @@ -81,12 +83,37 @@ void EventsManager::pollEvents() { case Common::EVENT_QUIT: case Common::EVENT_RTL: return; + case Common::EVENT_KEYDOWN: + _keyCode = event.kbd.keycode; + break; default: break; } } } +void EventsManager::pollEventsAndWait() { + pollEvents(); + g_system->delayMillis(10); +} + +void EventsManager::clearEvents() { + _keyCode = Common::KEYCODE_INVALID; + _leftButton = _rightButton = false; + +} + + +bool EventsManager::getKey(Common::KeyState &key) { + if (_keyCode == Common::KEYCODE_INVALID) { + return false; + } else { + key = _keyCode; + _keyCode = Common::KEYCODE_INVALID; + return true; + } +} + /** * Updates the game counter to match the current frame counter */ |