22 #ifndef MUTATIONOFJB_SCRIPT_H 23 #define MUTATIONOFJB_SCRIPT_H 25 #include "mutationofjb/commands/command.h" 26 #include "common/array.h" 27 #include "common/hashmap.h" 28 #include "common/hash-str.h" 29 #include "common/stack.h" 32 class SeekableReadStream;
42 class ConditionalCommand;
88 ConditionalCommandInfos _pendingCondCommands;
94 PendingGotoMap _pendingGotos;
98 ActionInfos _actionInfos;
108 ScriptExecutionContext(
Game &game,
Script *localScriptOverride =
nullptr) : _game(game), _activeCommand(
nullptr), _localScriptOverride(localScriptOverride) {}
111 Command::ExecuteResult runActiveCommand();
112 Command::ExecuteResult startCommand(
Command *cmd);
113 Command::ExecuteResult startStartupSection();
115 void pushReturnCommand(
Command *);
121 bool isCommandRunning()
const;
127 Script *_localScriptOverride;
135 const ActionInfos &getActionInfos(ActionInfo::Action action);
136 const Commands &getAllCommands()
const;
137 const Macros &getMacros()
const;
138 const Startups &getStartups()
const;
140 Command *getStartup(uint8 startupId)
const;
145 Commands _allCommands;
146 ActionInfos _actionInfos[5];
Definition: randomcommand.h:46
Definition: animationdecoder.h:36
Definition: conditionalcommand.h:42
Definition: algorithm.h:29
Definition: gamedata.h:443