aboutsummaryrefslogtreecommitdiff
path: root/engines/mutationofjb/tasks/conversationtask.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mutationofjb/tasks/conversationtask.h')
-rw-r--r--engines/mutationofjb/tasks/conversationtask.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/mutationofjb/tasks/conversationtask.h b/engines/mutationofjb/tasks/conversationtask.h
index 3bcbb6f998..41c82849ee 100644
--- a/engines/mutationofjb/tasks/conversationtask.h
+++ b/engines/mutationofjb/tasks/conversationtask.h
@@ -27,10 +27,11 @@
namespace MutationOfJB {
class SayTask;
+class ScriptExecutionContext;
class ConversationTask : public Task, public ConversationWidgetCallback {
public:
- ConversationTask(uint8 sceneId, const ConversationInfo& convInfo) : _sceneId(sceneId), _convInfo(convInfo), _currentLineIndex(0), _currentItem(nullptr), _sayTask(nullptr), _substate(IDLE), _haveChoices(false) {}
+ ConversationTask(uint8 sceneId, const ConversationInfo& convInfo) : _sceneId(sceneId), _convInfo(convInfo), _currentLineIndex(0), _currentItem(nullptr), _sayTask(nullptr), _substate(IDLE), _haveChoices(false), _innerExecCtx(nullptr) {}
virtual ~ConversationTask() {}
virtual void start() override;
@@ -41,6 +42,8 @@ private:
void showChoicesOrPick();
const ConversationInfo::Line *getCurrentLine() const;
void finish();
+ void startExtra();
+ void gotoNextLine();
uint8 _sceneId;
const ConversationInfo &_convInfo;
@@ -52,11 +55,13 @@ private:
IDLE,
SAYING_CHOICE,
SAYING_RESPONSE,
- SAYING_NO_CHOICES
+ SAYING_NO_CHOICES,
+ RUNNING_EXTRA
};
Substate _substate;
bool _haveChoices;
+ ScriptExecutionContext *_innerExecCtx;
};
}