diff options
Diffstat (limited to 'engines/zvision/script_manager.cpp')
-rw-r--r-- | engines/zvision/script_manager.cpp | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/engines/zvision/script_manager.cpp b/engines/zvision/script_manager.cpp index 50d7e58091..dcfcf02048 100644 --- a/engines/zvision/script_manager.cpp +++ b/engines/zvision/script_manager.cpp @@ -212,24 +212,28 @@ void ScriptManager::addToStateValue(uint32 key, uint valueToAdd) { _globalState[key] += valueToAdd; } -bool ScriptManager::enableControl(uint32 key) { - if (!_activeControls.contains(key)) { - return false; - } else { - return _activeControls[key]->enable(); +void ScriptManager::addControl(Control *control) { + _activeControls.push_back(control); +} + +void ScriptManager::enableControl(uint32 key) { + for (Common::List<Control *>::iterator iter = _activeControls.begin(); iter != _activeControls.end(); iter++) { + if ((*iter)->getKey() == key) { + (*iter)->enable(); + break; + } } } -bool ScriptManager::disableControl(uint32 key) { - if (!_activeControls.contains(key)) { - return false; - } else { - return _activeControls[key]->disable(); +void ScriptManager::disableControl(uint32 key) { + for (Common::List<Control *>::iterator iter = _activeControls.begin(); iter != _activeControls.end(); iter++) { + if ((*iter)->getKey() == key) { + (*iter)->disable(); + break; + } } } -void ScriptManager::addActionNode(ActionNode *node) { - _activeNodes.push_back(node); } void ScriptManager::changeLocation(char world, char room, char node, char view, uint32 offset) { |