diff options
Diffstat (limited to 'engines/mutationofjb/script.h')
-rw-r--r-- | engines/mutationofjb/script.h | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/engines/mutationofjb/script.h b/engines/mutationofjb/script.h index da90a2411f..be04dc5e85 100644 --- a/engines/mutationofjb/script.h +++ b/engines/mutationofjb/script.h @@ -36,6 +36,24 @@ class Command; class ConditionalCommand; typedef Common::Array<Command*> Commands; + +struct ActionInfo { + enum Action { + Walk, + Talk, + Look, + Use + }; + + Action _action; + Common::String _object1Name; + Common::String _object2Name; + bool _walkTo; + Command *_command; +}; + +typedef Common::Array<ActionInfo> ActionInfos; + class ScriptParseContext { public: @@ -56,21 +74,11 @@ public: ConditionalCommandInfos _pendingCondCommands; - enum Action { - Walk, - Talk, - Look, - Use - }; + ActionInfos _lookActionInfos; + ActionInfos _walkActionInfos; + ActionInfos _talkActionInfos; + ActionInfos _useActionInfos; - struct ActionInfo { - Action _action; - Common::String _object1Name; - Common::String _object2Name; - bool walkTo; - }; - typedef Common::Array<ActionInfo> ActionInfos; - ActionInfos _actionInfos; private: }; @@ -78,9 +86,19 @@ class Script { public: bool loadFromStream(Common::SeekableReadStream &stream); ~Script(); + + const ActionInfos &getLookActionInfos() const; + const ActionInfos &getWalkActionInfos() const; + const ActionInfos &getTalkActionInfos() const; + const ActionInfos &getUseActionInfos() const; + private: void destroy(); Commands _allCommands; + ActionInfos _lookActionInfos; + ActionInfos _walkActionInfos; + ActionInfos _talkActionInfos; + ActionInfos _useActionInfos; }; } |