aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/Tutorial/AreaTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.Client/Common/Tutorial/AreaTask.h')
-rw-r--r--Minecraft.Client/Common/Tutorial/AreaTask.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/Minecraft.Client/Common/Tutorial/AreaTask.h b/Minecraft.Client/Common/Tutorial/AreaTask.h
new file mode 100644
index 00000000..0d20bd7a
--- /dev/null
+++ b/Minecraft.Client/Common/Tutorial/AreaTask.h
@@ -0,0 +1,24 @@
+#pragma once
+using namespace std;
+
+#include "TutorialTask.h"
+
+// A task that creates an maintains an area constraint until it is activated
+class AreaTask : public TutorialTask
+{
+public:
+ enum EAreaTaskCompletionStates
+ {
+ eAreaTaskCompletion_CompleteOnActivation,
+ eAreaTaskCompletion_CompleteOnConstraintsSatisfied,
+ };
+private:
+ EAreaTaskCompletionStates m_completionState;
+ eTutorial_State m_tutorialState;
+public:
+ AreaTask(eTutorial_State state, Tutorial *tutorial, vector<TutorialConstraint *> *inConstraints, int descriptionId = -1, EAreaTaskCompletionStates completionState = eAreaTaskCompletion_CompleteOnActivation);
+ virtual bool isCompleted();
+ virtual void setAsCurrentTask(bool active = true);
+ virtual void onStateChange(eTutorial_State newState);
+
+}; \ No newline at end of file