aboutsummaryrefslogtreecommitdiff
path: root/engines/mutationofjb/script.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mutationofjb/script.h')
-rw-r--r--engines/mutationofjb/script.h46
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;
};
}